Darko Dragojevic schrieb:> Es war mein Fehler, dass ich> nicht in der Lage war, deutlich zu machen, was ich möchte.
aber das macht man sich VORHER schlau und fährt nicht in irgendeine
Himmelsrichtung los.
Man kann andere µC nutzen, man kann andere Programmieroberflächen
wählen, z.B. Arduino und m328p oder AVR Studio 6 mit gcc welche beide
nutzen.
Man kann ISP nehmen oder und dem AVR einen Bootloader aufspielen und
dann über Rx & Tx programmieren.
Wenn der Weg nicht klar ist, dann lohnt es nicht zu starten!
Ich fahre doch mit den Auto nicht Richtung Norden wenn ich nach Italien
will.
(vorausgesetzt man startet nicht in der Türkei)
Darko Dragojevic schrieb:> Das ist ja schon> mal der erste Schritt, dass mein Gegenüber erst mal weiß was ich möchte.
Dann hätte ich doch auch mal gewusst, was dir an meinem Vorschlag nicht
gefällt?
Sind es die Kosten?
Darko D. schrieb:> Das ist ja doof, dass ich ISP benutze.
Ja!
Zudem hältst du geheim, welche Adapter du da nutzt.
Damit ist es nicht ganz klar.
Könnte ja auch ein Bootloader drauf sein, dann brauchst du kein ISP.
Es geht als auch ohne großen Umbau.
Darko D. schrieb:> Das ist ja doof, dass ich ISP benutze.
Nö, gar nicht!
Man kann auch etwas an die Pins anschließen, aber sie dürfen dann nicht
stören.
Du benutzt alle als Eingänge, das wäre okay.
Und wenn alle Schalter einfach nur gegen Masse schließen, kann das
klappen.
Bei dem Taster für die Klappe ist das noch halbwegs einfach zu lösen:
Einfach während der programmierung nicht drauf drücken. Aber wie ist das
bei den Endlageschaltern für "Zuziehhilfe offen" und "Klappe unten"?
Die Klappe dürfte nicht unten sein, die Zuziehhilfe müsste aber
geschlossen sein, um den passenden Zustand zu haben. Die Kombi ist aber
ja problematisch zu erreichen, wenn das Ding schon läuft.
Wenn Du den Prozessor zum programmieren abziehst (Steckverbindung etc.)
kann es aber so bleiben, wie es ist.
Gruß
Jobst
Joachim B. schrieb:> dem AVR einen Bootloader aufspielen und> dann über Rx & Tx programmieren.
Sollte man bei dem mega8 ohne Quarz vermeiden!
Gruß
Jobst
Hi
Na klar, wir wissen jetzt genau, wie du deine IO organisiert hast. Also,
wenn du kein Malprogramm für Schaltungen hast, es geht auch mit Paint.
Ein Beispiel hab ich mal angehängt, wie so was in etwa aussehen kann.
Der Atmega8 hat 23 Io. Wenn du auf einen Quarz verzichtest und auch
keine serielle Schnittstelle brauchst, bleibt nach Abzug von Reset, SCK,
MISO und MOSI noch 19 nutzbare IO-Pins. Für deine Anwendung reicht die
Genauigkeit der internen Taktquelle und 1MHz ist auch schnell genug, um
die paar Befehle zu bearbeiten.
Nach der Skizze zur Schaltung kannst du die IO definieren und
entsprechend im Programm zuweisen. Damit solltest du anfangen, bevor du
tausendmal den Lötkolben in die Hand nimmst und immer wieder umfrikeln
mußt.
Dann wird es dir auch wesentlich leichter fallen, ein Programm zu
fertigen. Und dann noch ein Tip
Trenne Eingabe, Verarbeiten und Ausgabe.(EVA-Prinzip)
Auch für so ein kleines Programm lohnt es sich, eine Struktur zu haben,
die später bei Fehlersuche oder Programmanpassung die Arbeit
erleichtert.
So kannst du einen Variablenbereich Befehlstastern zuordnen, einen
anderen für Rückmeldungen. Einen weiteren für Ausgaben, die du am Schluß
der Programmschleife den Ausgabeports zuweist.
Ich bin wirklich mal gespannt, wie viele Beiträge noch erforderlich
sind, bis du deinen Controller erfolgreich zum Laufen bekommst. Ich hab
da so meine Zweifel.
Gruß oldmax
Jobst M. schrieb:> Sollte man bei dem mega8 ohne Quarz vermeiden!
50Cent?
Oder 3 Ocken für einen Nano Klon...
oldmax schrieb:> Ich bin wirklich mal gespannt, wie viele Beiträge noch erforderlich> sind, bis du deinen Controller erfolgreich zum Laufen bekommst. Ich hab> da so meine Zweifel.
Deine Zweifel sind unsinnig.
Die 20min sind schon um.
Hallo,
sowohl die Zeichnung der Schrittkette als auch des Schaltplans von
Oldman solltest du berücksichtigen.
Damit es betriebssicher ist, sollten für die Eingänge (Tasten +
Endschalter) keine Rechnerpins ungeschützt nach außen geführt werden.
Zum Einen fangen diese Störungen ein, zum Anderen ist bei Kurzschluss zu
einer höheren Spannung sofort der Rechner defekt. Hier solltest du
Optokoppler einsetzen. Auch schon deshalb, damit ein ausreichender Strom
über die Endschalter fließt.
Der Not-Aus-Taster muss direkt auf die Hardware wirken.
Gruß Otto
EAF schrieb:> Jobst M. schrieb:>> Sollte man bei dem mega8 ohne Quarz vermeiden!> 50Cent?> Oder 3 Ocken für einen Nano Klon...
Wozu?
Um anstelle der Firmware dort einen Bootloader einzuspielen, damit man
die Firmware per UART dort rein schieben kann?
Im Zweifelsfall einmalig.
Außerdem ist ja alles was er braucht vorhanden. Wieso sollte er nun noch
weitere Teile ordern? Egal was es kostet.
> oldmax schrieb:>> Ich bin wirklich mal gespannt, wie viele Beiträge noch erforderlich>> sind, bis du deinen Controller erfolgreich zum Laufen bekommst. Ich hab>> da so meine Zweifel.>> Deine Zweifel sind unsinnig.> Die 20min sind schon um.
Habt Ihr keine Zeit, oder was?
Das ist völlig egal, er hat es eingesehen und sich dafür auch
entschuldigt.
Gruß
Jobst
Darko Dragojevic schrieb:> nicht in der Lage war, deutlich zu machen, was ich möchte. Das ist mir> nur über Umwege gelungen, die vielleicht auch nicht optimal waren. Nun> kann man aber bis auf minimale Feinschliff-Arbeiten erkennen was ich> möchte und was letztenendes das Programm können soll. Das ist ja schon> mal der erste Schritt, dass mein Gegenüber erst mal weiß was ich möchte.
Drako,
ich finde es absolut bemerkenswert, was Du Dir in den letzten 2 Wochen
selbst beigebracht hast. Hut ab!!!
Mit Deinen neu erlernten Fähigkeiten steckst Du bestimmt die Hälfte der
hier Mit-Diskutierenden freiweg in die Hosentasche.
Hallo zusammen.
Darko ist mein Name :-)
Ich finde selbst, dass ich gelernt habe in den letzten Wochen.
Das jemand den Hut vor mir zieht, kann ich nicht nachvollziehen.
Ich weiß auch nicht ob das Ironie war.
Ich habe die Situation von Anfang an falsch eingeschätzt und im laufe
des Chattes hat sich das dann so ergeben. Und das tut mir leid! Heute
Abend lade ich ein paar Bilder hoch von meinem Equipment hoch. Ich weiß
nicht wie ich dieses Modul benennen soll.
Übrigens kann ich beim Programmieren einfach die Stecker von den
Eingängen und Ausgängen abziehen. Das ist bei mir alles gesteckt. Auch
davon lade ich ein paar Bilder hoch. Und dann kommen wir lansam ins
Finale. Hurra!
Darko D. schrieb:> Das jemand den Hut vor mir zieht, kann ich nicht nachvollziehen.> Ich weiß auch nicht ob das Ironie war.
Jetzt nimm das Lob doch an! Du bist echt anstrengend.
Hi
Ich denke, die meisten wird es freuen, wenn du hier etwas gelernt hast
und du dein Projekt erfolgreich zu Ende bringst. Im Anhang hab ich dir
noch eine kleine Hilfe skizziert. Ein Schaltbild hilft nicht nur die
Gedanken zu bündeln, sondern zeigt dir auch oft, welche Komponenten du
einsetzen mußt. Der Hinweis auf Optokoppler ist nicht ganz unbegründet,
denn es besteht die Möglichkeit einer statischen Aufladung. Nicht nur
die Maschine, auch der Bediener kann ein Ladungsträger sein, wie wohl
sicherlich schon jeder einmal zu spüren bekommen hat. Elektronik ist da
manchmal ein wenig empfindlich und reagiert zimperlich, wie eine kranke
Mimose.
Wenn dir mein Vorschlag mit dem Ablaufplan zu viel Automatismus bietet,
nun, es liegt an dir, den Betriebszustand mit einer LED zu signalisieren
und dann die Freigabe zur manuellen Zuschaltung der Lüfter zu geben.
Setz dafür einfach ein Relais ein, dessen Schließer die Steuerspannung
zur Einschaltung der Lüfterschütze durchschaltet.
Da hier immer wieder Erklärungen von Nöten sind, weil ich den Eindruck
habe, du siehst die Vorschläge als fertige Endlösung und nicht als
Anstoß zur Umsetzung, bin ich eben nicht davon überzeugt, das du
verstanden hast, wie man einen Controller dazu bringt, diese Aufgabe
ganz oder teilweise zu erledigen.
Das beginnt mit der Parametrierung der Ein-und Ausgabe. Der Einrichtung
eines Timers. Der Entprellung von Kontakten, egal, ob diese von Tastern,
Endschaltern oder Rückmeldekontakte von Leistungsschützen sind. Auch
kannst du nicht einfach Ausgabepins mit einem Ventil oder Relais
beschalten. Da braucht es Treiber, die Spannung und Strom für diese
Bauteile liefern können. Ich hab dir mal auf die schnelle mit Paint eine
Skizze angefertigt, die du nach deinen Vorgaben ändern kannst.
Übrigends, ja, ein Not-Aus schaltet die Leistung weg und damit die
gesamte Maschine aus. Nicht immer ist das ideal, z.b. wenn weitere
Energien die Druckluft oder Schwerkraft unkontrolliert gefährlich wird.
Dann kann mit einem Not-Halt die Maschine in einem gesicherten Zustand
gehalten werden. Dabei bleibt die Energie weiter zugeschalten, Bewegung
aber blockiert.
Gruß oldmax
oldmax schrieb:> Ich hab dir mal auf die schnelle mit Paint eine> Skizze angefertigt, die du nach deinen Vorgaben ändern kannst.
Ich glaube du hast das falsche Bild angehängt. Dieses Bild hatten wir
gestern in einem ganz anderen Zusammenhang.
Jobst M. schrieb:>> oldmax schrieb:>>> Ich bin wirklich mal gespannt, wie viele Beiträge noch erforderlich>>> sind, bis du deinen Controller erfolgreich zum Laufen bekommst. Ich hab>>> da so meine Zweifel.>>>> Deine Zweifel sind unsinnig.>> Die 20min sind schon um.>> Habt Ihr keine Zeit, oder was?> Das ist völlig egal, er hat es eingesehen und sich dafür auch> entschuldigt.>> Gruß> Jobst
Hi
Sorry, muß darauf kurz eingehen
Wieso schreibst du da in der Mehrzahl? Mir ist es ziemlich egal, wieviel
Zeit er noch braucht und wie viele Beiträge noch geschrieben werden
müssen. Die 20 min. Bemerkung aus dem ersten Post hab ich auch nur
belächelt. Klar, wenn ein Bauplan existiert und die Funktion der
Maschine von Anfang an klar gewesen wäre, dann sind die 20 Minuten gar
nicht mal so abwegig.
Aber um helfen zu können, muß dem TO auch klar sein, mit was er hier zu
tun hat. Das dieser Baustein eben nicht mal einfach so funktioniert. Und
ich hab den Eindruck, hier fehlen einfach gewisse Grundkenntnisse. Die
muß man sich aneignen, eben lernen. Manche brauchen dafür Jahre, andere
sind etwas schneller, doch niemand wird ohne Grundkenntnisse mit ein
paar Posts einen Controller programmieren und so beschalten, das eine
Maschine gesteuert wird. Auch nicht mit so einem banalen Programm. Und
schon gar nicht, wenn er Probleme hat, eine wie von mir vorgegebene
Schrittkette für seine Vorgaben abzuändern. Ich würd mich freuen, wenn
ich mich irre.
Gruß oldmax
Stefan ⛄ F. schrieb:> oldmax schrieb:>> Ich hab dir mal auf die schnelle mit Paint eine>> Skizze angefertigt, die du nach deinen Vorgaben ändern kannst.>> Ich glaube du hast das falsche Bild angehängt. Dieses Bild hatten wir> gestern in einem ganz anderen Zusammenhang.
Hi
Ok, nun ja, in der Tat hab ich es gestern schon mal geschickt. Und es
sollte auch hier landen. Tat es aber nicht und ich dachte, dann ist der
Beitrag mal wieder im Nirwana verschwunden. Nun weiß ich nicht, in
welcher Diskussion es gelandet ist. Ein möglicher Grund, ich schreib zur
Zeit auf einem Ur-Alt-Net_Book und diese sch.. empfindliche Fläche zum
Positionieren von Textcursor etc. fummelt oft dazwischen. Also, das Bild
sollte gestern schon hier landen. Da war auch ein Text dazu. Sorry, wenn
das Verwirrung gestiftet haben sollte.
Gruß oldmax
oldmax schrieb:> Ich bin wirklich mal gespannt, wie viele Beiträge noch erforderlich> sind, bis du deinen Controller erfolgreich zum Laufen bekommst.oldmax schrieb:> Mir ist es ziemlich egal, wieviel> Zeit er noch braucht und wie viele Beiträge noch geschrieben werden> müssen.oldmax schrieb:> Sorry, muß darauf kurz eingehen
Überflüssiger Krempel, der Threads nur unnötig in die Länge zieht.
Gruß
Jobst
Hallo,
ich habe mir erlaubt, den Schaltplan von Oldmax zu überarbeiten.
Ein Industrieprojekt unterscheidet sich von einem Bastelprojekt in
folgenden Punkten:
1. Es sollte stör- und betriebsicher sein
2. Die Inbetriebnahme sollte durch Visualisierung erleichtert werden
3. Es sollte wartungsfreundlich sein
4. Es sollte zuverlässig sein
zu 1) Optokoppler an den Eingängen werden zur Vermeidung von Störungen
verscheidenster Ursache benötigt:
a) ESD (elektrostatische Entladung)
b) kapazitive und induktive Einkopplungen (z. B. durch das Schalten der
Ventile und Motoren) in die Steuerleitungen
c) Falschanschluß
Ein zentraler Punkt ist der Not-Aus. Dieser muß über ein
Sicherheitsschaltgerätund ggf. sogar redundant erfolgen.
Hier gibt es zwingende Vorschriften! Da kannst du im Fall des Falles
auch nicht herausreden, dass due dies nicht
gewusst hast.....
zu 2) Inbetriebnahmeerleichterung durch Visualisierung:
a) Eingänge
In Reihe zu den Dioden der Optokoppler sollten LED vorgesehen werden, um
den Zustand aller Schalter zu
visualisieren. Das mag unnötig erscheinen aber in der Praxis ist der
Zustand der Endschalter wahrscheinlich nicht sichtbar.
b) Ausgänge:
Parallel zu den Spulen der Relais sollten LED vorgesehen werden, um den
Zustand der Relais zu visualisieren.
zu 3) Die Wartung wird aufgrund der Visualisierung ebenfalls
vereichfacht:
a) In der Praxis verschleissen zum Beispiel Endschalter - dies kann
mittels der LED schnell erkannt werden.
zu 4) Für zuverlässigen Betrieb ist ein robuster Aufbau die wichtigste
Voraussetzung:
a) stabiles wasser- und schmutzdichtes Gehäuse für die Steuerung
b) Geeignete Kabeleinführung (zumindest Kunststoffverschraubungen)
c) Auswahl mechanisch robuster und zuverlässiger Taster und Endschalter
Bisher ist auch noch offen, welche und wie viele Steuerspannungen
verwendet werden:
a) Wie wird die Controllerversorgung erzeugt?
b) Relais welche Betriebsspannung (5V, 12V, 24V)?
c) Magnetventile: welche Betriebsspannung (12V, 24V, 230V) und sind
Entstörmaßnahmen vorhanden?
d) Schütze welche Betriebsspannung (24V, 230V) und sind Entstörmaßnahmen
vorhanden?
Hier gibt es sicher auch noch Baustellen.....
Viele Grüße
Otto
Hallo. Ich schreibe eben vom Handy. Die Steuerspannung ist 24volt DC.
Der atmega 8 wird mit einem 7805 Festspannungsregler bestromt. Hier noch
die Bilder die offen waren. Lg Darko
Alle 5 Eingänge und alle 5 Ausgänge werden mit LED s sichtbar gemacht.
Auch die Spannungen 12volt und 24 Volt und 5 Volt per LED sichtbar
gemacht. Das Symbol auf dem Desktop ist das Programm. Ich werde jetzt
die Tage mich mit den Grundlagen der Programmierung noch einmal
auseinander setzen, im Studium hatten wir damals glücklicherweise noch
ein bisschen gemacht.
Hallo Jobst. Einen Schaltplan habe ich nicht. Ich habe es so zusammen
gelötet. Spannungsversorgung am atmega 8 und die Verbindung zum
Programmieranschluss und die 10 ein und Ausgänge. Mehr nicht.
Darko D. schrieb:> Hallo Jobst. Einen Schaltplan habe ich nicht. Ich habe es so zusammen> gelötet. Spannungsversorgung am atmega 8 und die Verbindung zum> Programmieranschluss und die 10 ein und Ausgänge. Mehr nicht.
Schaltplan!
Machen. Irgendwie. Installier Dir z.B. KiCad.
Bei der Programmierung oder bei Problemen suchst Du Dir sonst einen
Wolf.
Gruß
Jobst
Darko D. schrieb:> Darko ist mein Name :-)> Ich finde selbst, dass ich gelernt habe in den letzten Wochen.> Das jemand den Hut vor mir zieht, kann ich nicht nachvollziehen.> Ich weiß auch nicht ob das Ironie war.
Sorry Darko, für den Buchstabendreher.
Ich kann Dir versichern, in meinem Post war nicht die Spur von Irone
versteckt - und ich finde es absolut bemerkenswert, wie du dich in die
Sache reingeknient, und was Du dabei gelernt hast.
Man braucht kein KiCAD (obwohl es schön ist, wenn man es kann). Das
lenkt für den Anfang nur ab. Ich male meine Schaltpläne seit einem
halben Jahrhundert mit Bleistift auf Papier, oft ohne Lineal und
Schablone - und das war immer gut genug.
Darko D. schrieb:> Ich werde jetzt> die Tage mich mit den Grundlagen der Programmierung noch einmal> auseinander setzen, im Studium hatten wir damals glücklicherweise noch> ein bisschen gemacht.
Mein Tipp: Mach nicht den gleichen Fehler wie zu Beginn, verzettle dich
nicht (wie schon mal) in Bitfummelei sondern lerne zu abstrahieren.
Kein Mensch merkt sich, welcher Schalter, welche LED an welchem Pin
hängt. Vielmehr musst Du Signale benennen, mit prägnanten Namen belegen
- ohne einen Roman zu verfassen.
SW1 und SW2 sind unpassende, auch PINB und PINB5 sind keine guten Namen.
"Zuziehhilfe_offen" und "Klappe_unten" sind schon nicht mal ganz
schlecht - obwohl es immer noch besser geht. Man sollte sich nicht
überlegen müssen, ob "Klappe_unten" meint, dass die Klappe nun "offen"
oder "zu" ist.
Wähle diese Namen mit Bedacht, bevor du anfängst mit Programmieren -
beim Programmieren hast du dazu keinen Nerv mehr. Verwende diese Namen
durchgängig, in deiner Mechanik (z.B. Endschalter Zuziehhilfe), in
deiner Beschreibung, im Schaltplan als Signalnamen (s.o.), bei Anzeigen
und als Variablennamen ebenso.
Ich habs immer so gehalten, dass ich 1=H=wahr=aktiv definiert hatte.
Wenn ich ein Signal invertieren musste, kam ein N_ davor: Aus
"Klappe_unten" wurde dann das inverse N_Klappe_unten (steht für
NICHT_Klappe_unten).
Im Programm-Header schreibt man dann z.B. sowas wie:
#define Klappe_offen B3
#define Zuziehhilfe_offen ....
und vergisst danach B3 und ... sofort wieder.
Anm.: Manche verwenden hier andere Sprachkonstrukte und erklären Dir
sicher auch das Wie und Warum ...
Hannes schrieb:> Ich male meine Schaltpläne seit einem> halben Jahrhundert mit Bleistift auf Papier, oft ohne Lineal und> Schablone - und das war immer gut genug.
Die Vorteile, wenn man es nicht auf Papier macht:
- Es lässt sich anschließend noch was verschieben.
- Copy-Paste!
- Man muss den Plan nicht einscannen, um ihn ins Forum zu bekommen.
Mit einem spezialisiertem Tool wird es außerdem noch einfacher, als z.B.
mit Pain(t), da man fertige Symbole benutzt und auch das ziehen einer
Leitung einfacher ist.
Viel wichtiger finde ich allerdings, dass einer gemacht wird. Egal wie.
Gruß
Jobst
Jobst M. schrieb:> Viel wichtiger finde ich allerdings, dass einer gemacht wird. Egal wie.
Ja, finde ich auch.
Auf der Platine fehlen Kondensatoren, sie wird so wahrscheinlich nicht
zuverlässig funktionieren. Die Leitungsführung insbesondere von GND
sollte man auch mal überprüfen.
Hallo Darko,
versorgst du den 7805 mit 24V? Wie hoch ist die Stromaufnahme?
Was schaltest du mit den MJ10012? Die Ventile? Low-Side? Hast du
Freilaufdioden oder eine Entstörbeschaltung? Das Anlöten am TO3-Gehäuse
ist unzuverlässig.
Viele Grüße Otto
Ich zitiere mal nichts, weil ihr habt alle Recht - irgendwie.
Darkos Fotos vermitteln mir den Eindruck, dass das alles mit sehr viel
Liebe gemacht ist. Sein Verhalten hier ist vorbildlich - hat er doch
noch nie, auch nicht auf die allerdümmsten Mails, mit Aggressionen
reagiert. Bitte behandelt ihn daher auch mit Respekt.
Ich wollte mich eigentlich nicht zur Komponentenauswahl äußern (SPS ist
ja wohl durch - oder?) - machs nun aber trotzdem - indem ich das Unwort
„Arduino“ in den Ring werfe. Wohl wissentlich, dass jetzt gleich die
Steine fliegen und ich womöglich einen Shit-Storm auslöse ...
Für mich sind die Dinger einfach nur bequem und nehmen Neulinge eine
ganze Menge Arbeit ab. Arduinos haben z.B. den Programmieradapter an
Bord, kommen mit einem brauchbaren Versorgungskonzept (incl.
Abblock-Cs), haben eine rudimentären Debug-Schnittstelle (Konsole)
implementiert, jeder Trottel (also auch ich) kann ein LCD anschließen,
es gibt für‘n schmalen Taler „shields“ (z.B. Relaisplatinen), und und
und ...
Und noch schlechter ist die IDE auch nicht...
Durch die vielen Beispiel-Programme (sketch) und 100-te von Tutorials,
sehr gute Dokumentation (auch Schadbilder und Platinen-Layouts) bekommt
man einen schnellen, fast spielerischen Zugang zur verbauten Technik,
Arduino ist dabei aber weit entfernt, nur ein Spielzeug zu sein.
Man schaue sich einfach mal auf https://www.arduino.cc um.
Dort kann man auch Hardware kaufen - muss es aber nicht. Arduino wird
LEGAL nachgebaut und ist dann trotzdem kein China-Schrott ...
Ich mag den Arduino UNO R3 (mit gesockeltem 328p DIL). Preis hat leider
ziemlich angezogen ...
Egal wie gut oder schlecht die Plattform ist: Macht was draus!
Und ja: Es gibt Besseres, wird es immer geben. Aber ich fahre auch nicht
mit'm Rolls zum Brötchen-Holen ...
Um Arduino zu verstehen, lohnt ein kurzer Ausflug in die Geschichte der
Plattform. https://de.wikipedia.org/wiki/Arduino_(Plattform)#Geschichte
bietet eine kurze Zusammenfassung („Rechtsstreit“ mal außen vor),
https://arduinohistory.github.io/de.html dann die (eine?) Langform.
Stefan ⛄ F. schrieb:> Die Leitungsführung insbesondere von GND> sollte man auch mal überprüfen.
Die Antwort darauf kann uns aber nur ein Bild der Platinenunterseite
geben.
Gruß
Jobst
Hannes schrieb:> Schadbilder
Ja, das denke ich bei den knuddeligen Arduinos auch immer ....
Das was er dort schon aufgebaut hat, wird er frühestens dann abreißen,
wenn sicher ist, dass damit auch nach Überarbeitung keine sinnvolle
Funktion hinzubekommen ist.
Und das würde ich genau so machen.
Ich denke, dass man auf diesem Weg mehr lernt als wenn man fertige
Shields benutzt. Deshalb befürworte ich ihn auch.
Gruß
Jobst
Hallo alle zusammen. Wie hoch die Stromaufnahme ist weiß ich nicht. Ein
Ventil hat 5 Watt. Ich meine es werden maximal 2 Ventile gleichzeitig
geschaltet. Das bedeutet 10 Watt und plus der Strom vom Atmega 8. Hannes
vielen Dank für die lieben Worte. Hier in solchen Foren muss man auch
mit allem rechnen.
Ich möchte auch anmerken, dass ich in etwa knapp 10 Anwendungen bisher
vom Atmega 8 hatte. Einer davon auch in meinem Auto. Alles funktioniert
bis heute tadellos. Auch das hier werde ich irgendwie hinbekommen. In
der Ruhe liegt die Kraft. Und vielleicht kommt ja doch irgendwann einer
vorbei und macht mir das vorher fertig.lg
Otto, ja die mj10012 Schalten die Ventile. Funktioniert einwandfrei.
Solange es funktioniert lasse ich es so. Es ist so. Der 7812 wird von
der 24volt Spannung versorgt und der 7805 wird von der 12 Volt Spannung
versorgt.
Ach noch was habe ich vergessen zu schreiben. Alle Ausgänge werden mit
einem 10 megaohm Wiederstand mit Masse verbunden.
Ich werde in den nächsten Tagen das umsetzen was ihr mir rät. LG
Jobst M. schrieb:> Hannes schrieb:>> Schadbilder>> Ja, das denke ich bei den knuddeligen Arduinos auch immer ....
Ooops - Freud'scher Verschreibsler?
Wäre durchaus möglich, bei meinem angejahrten Bio-Flachrechner ...
Trotzdem stehe ich voll und ganz hinter den aufgezählten Vorteilen. Bei
solch schmalen Investitionskosten, monetär <10 €, geht Darko annähernd
kein Risiko ein, wenn er sich so ein Knuddelding mal genauer anschaut.
Sei es, um damit zwanglos rumzuspielen oder sich im hardwarenahen
Programmieren zu üben - zum Beispiel in einer Testumgebung, bestehend
aus einem Stück Sperrholz mit Schalterchen und Lämpchen - und Schildchen
wie "Klappe" oder "Zuziehhilfe" oder so was ...
Und sollte er dann den Entschluss fassen, seine Lochraster-Platine einem
Redesign zu unterziehen und dort seine Neuerwerbung als Zentralgehirn
rein zu spaxen - ich denke, da wäre ihm hier niemand wirklich böse.
<wink>
Jobst M. schrieb:>> Die Leitungsführung insbesondere von GND>> sollte man auch mal überprüfen.> Die Antwort darauf kann uns aber nur ein Bild der Platinenunterseite> geben.
Ja, deswegen habe ich das geschrieben, anstatt zu überprüfen.
Joachim B. schrieb:> Stefan sieht das so!
Nein
Hallo alle zusammen noch einmal.
Ich bin wieder back.
Mittlerweile stagniert das ganze irgendwie ein bisschen. Die komplette
Hardware funktioniert einwandfrei! Ich muss nur die ganzen Ausgänge mit
einem Kabel betätigen (5V), also genau das was das Programm machen soll.
Über ein neues Design der Platine oder des Aufbaus kann man sich gerne
streiten. Mit Sicherheit ist es nicht schick, funktioniert aber und hat
die letzten Anwendungen auch durchgehend funktioniert.
Ich würde vorschlagen ich fange einfach mal mit dem Programm an und ihr
helft mir dann weiter?
Weil programmtechnisch ist ja jetzt quasi fast gar nichts passiert...
LG Darko
Darko schrieb:> Ich würde vorschlagen ich fange einfach mal mit dem Programm an und ihr> helft mir dann weiter?
Sicher, stelle deine Fragen wenn du welche hast. Anfangen musst du
selbst.
Hallo Stefan. Danke!
Hallo EAF, geht es um die 6 Stunden Arbeitszeit die weiter oben genannt
wurden oder um dieses 10 Euro Modul? Ardurino? Lg aus Bremen
Hallo EAF,
ich muss dein Angebot dankend leider ablehnen, denn ich habe gestern
Abend selbst den Durchbruch gehabt.
Alle Ausgänge und alle Eingänge konnten per AT mega8 deklariert und auch
angesteuert werden. Auch der erste Probelauf (im Moment noch nicht ganz
erfolgreich) konnte durchgeführt werden.
Ich schätze (ganz vorsichtig) dass das Programm schon zu 80 % fertig
ist.
Ich werde es die Tage nochmal überarbeiten und korrigieren. Dann poste
ich es euch und ihr könntet mir lediglich bei der Übersichtlichkeit
helfen, denn im Moment nutze ich immer diese uneindeutigen
Zahlenbuchstabenkombinationen z.B.
while(!PORTB00x4) .... // 4 Ist der Endschalter...
Ich weiß nicht wie ich dem Programm sagen soll, dass PORTB 00x16
irgendein Eingang sein soll.
Das habe ich dann immer als Kommentar daneben geschrieben. (Geht zur Not
auch)
Also bis die Tage und dann hat es endlich ein Ende!!
Darko schrieb:> Ich schätze (ganz vorsichtig) dass das Programm schon zu 80 % fertig> ist.
Für die letzten 20% braucht man 80%, sagt man. Aber mach mal, wenn du
fertig bist hast du etwas worauf du stolz sein kannst.
Hallo Stefan oder Stefanus?
Ja wie fast immer habt Ihr Recht. Dann sind etwa 80% fertig und 80 %
sind noch offen. Auf 100% gerechnet ist dann quasi die Hälfte gemacht.
Das ist schon sehr viel finde ich. Ja ich bin schon stolz auf mich.
Vielleicht ab und zu auch mal zu stolz. Aber ich weiß ja was ihr meint!
LG
Darko schrieb:> ich muss dein Angebot dankend leider ablehnen,
Hier sieht man deutlich, dass du meine Frage noch nicht mal im Ansatz
verstanden hast!
Aber alles ok....
Übrigens:
Darko schrieb:> while(!PORTB00x4) // 4 Ist der Endschalter...
Warum so verschwurbelt?
Wäre ein while(!endschalter) nicht viel Aussagekräftiger?
Hallo EAF, danke!
Genau das ist das Problem, ich weiß nicht wie ich das dem Programm sagen
soll z.B.
while(!Klappe_unten) Ventil_Klappe_runter ansteuern.
Mein Programm kennt die Kabine ja nicht. Ich muss ja irgendwie sagen,
dass
PORTB0x02 gleich Klappe_unten ist.
Aber wenn ich das genau so schreibe, dann kommt ein Fehler beim
Kompilieren.
Darko schrieb:> Mein Programm kennt die Kabine ja nicht. Ich muss ja irgendwie sagen,> dass> PORTB0x02 gleich Klappe_unten ist.
Ja, das musst du!
Vorschläge wurden dazu ja schon gemacht.
Unter der Annahme, dass PORTB Pin 4=HIGH ist wenn die Klappe unten ist:
1
#define Klappe_unten (PORTB00x4)
oder klassisch
1
#define Klappe_unten ((PORTB && (1<<PB4))
2
3
while(!Klappe_unten)
4
{
5
....
6
}
Ist der Schalter jetzt an Pin 2 oder 4? Pin 16 gibt es nicht. Offenbar
ist dir die Syntax von diesen Port-Markos im Detail unklar. Dann benutze
sie besser nicht, sondern die klassische Variante.
Darko schrieb:> while(!PORTB00x4) .... // 4 Ist der Endschalter...> Ich weiß nicht wie ich dem Programm sagen soll,> dass PORTB 00x16 irgendein Eingang sein soll.Darko schrieb:> Ich muss ja irgendwie sagen,> dass PORTB0x02 gleich Klappe_unten ist.
EAF schrieb:> Übrigens:> Darko schrieb:>> while(!PORTB00x4) // 4 Ist der Endschalter...> Warum so verschwurbelt?>> Wäre ein while(!endschalter) nicht viel Aussagekräftiger?
#define endschalter PORTB00x4
@Darko: Hier kommt Dir der Preprozessor zur Hilfe. In diesem Fall würde
der PP alle "endschalter" durch "PORTB00x4" ersetzen - und das Ergebnis
dem Compiler vorwerfen.
Hannes
Hi Darko
Bis jetzt ist immer noch nicht klar, ob du ein Schaltbild deiner
Elektrik/Elektronik angefertigt hast. Kann sein, des du das nicht für
nötig hälst, aber wenn Mal ein Fehler auftritt, weißt du gar nicht,
welche Strompfade wo gemessen werden müssen. Und glaub mir, erst wenn du
dann deine Verdrahtung komplett auseinander gefummelt hast, wirst du den
Tag verfluchen, an dem du diese Hinweise ignoriert hast. Die Skizze von
mir war auch nur ein Beispiel, wie es relativ schnell und ohne
Einarbeitung in ein Schaltplan Programm mit Paint umsetzbar ist. Die
Zeichnung packst du dann in den Projektordner, wo du auch dein Programm
ablegen kannst. Wenn dann Mal Änderungen geplant werden, hast du auch
die Grundlage dafür.
Gruß oldmax
Hallo Oldmax, grüß dich.
Ich gehe so ziemlich jedem Hinweis nach. Ich habe alles auf 3 DIN A4
Blättern notiert, wo welcher Port zu welchem Eingang / Ausgang hingeht.
Das bedeutet für mich, dass ich innerhalb weniger Minuten nachvollziehen
kann wo welches Kabel hingeht.
Grob gesagt wird der AT mega 8 mit Spannung versorgt und die 5 Ein und
Ausgänge. Mehr ist daran ja nicht.
Außerdem gibt es große Neuigkeiten.
Das Programm funktioniert zu meiner vollen Zufriedenheit!!!
Ich habe es selbst entworfen.
Ich werde versuchen es heute Abend hier reinzustellen.
Ich weiß auch, dass ihr mich verbal auseinandernehmen werdet, aber da
muss ich durch. Für mich ist es eig. gar nicht so undurchsichtig. Ich
habe IMMER mit Kommentaren dazugeschrieben was das alles bedeutet.
Ihr könntet mir nur bei dem Feinschliff helfen, falls ihr dort überhaupt
eine Notwendigkeit seht.
LG aus Bremen
Doch eine Kleinigkeit werde ich ändern. Ich muss immer den Stecker
abziehen für die Eingänge 4 und 5. Diese sind aber glaube ich RX und TX
zum Programmieren. Ich werde die beiden Eingänge auf 2 andere Plätze
anlöten. Dann brauch ich das nicht immer abziehen.
Ich glaube Stefanus hat gesagt, dass ich die Plätze räumen muss.
Ich habe übrigens noch was herausgefunden, was ich ehrlich gesagt
bescheuert finde.
Pin 1 auf dem AT mega 8 ist 0x02
Pin 2 auf dem AT mega 8 ist 0x04
Pin 3 auf dem AT mega 8 ist 0x08
Pin 4 auf dem AT mega 8 ist 0x10 Da muss man erst mal drauf kommen!
Mir hat niemand gesagt, dass das dumme Ding in Hexadezimal rechnet!
Ich habe mich immer gewundert, warum bei 0x16 immer komische Dinge
passieren!
Jobst M. schrieb:> Es fehlt ebenfalls ein Schaltplan,Otto schrieb:> Gibt es davon einen Schaltplan?Martin V. schrieb:> dann muss auch> ein Schaltplan herOtto schrieb:> sowohl die Zeichnung der Schrittkette als auch des Schaltplans von> Oldman solltest du berücksichtigen.Jobst M. schrieb:> ... Äh ... Schaltplan!?Jobst M. schrieb:> Schaltplan!> Machen. Irgendwie.Hannes schrieb:> Ich male meine Schaltpläne seit einem> halben Jahrhundert mit Bleistift auf PapierMartin V. schrieb:> SchaltplanDarko schrieb:> Ich gehe so ziemlich jedem Hinweis nach.
ich denke das sieht mittlerweile nach eine Lüge aus!
Bis jetzt sieht man kein Schaltplan, aber gut getrollt hast die Meute
gut beschäftigt!
1. Fehler, keinen Plan gezeichnet (kann auch Blei auf Papier
sein) daraus ergibt sich oft Fehler 2
2. Fehler, ohne Plan können die gelegten Leitungen nicht nachgezeichnet
werden in bunt (-> Textmarker)
somit ist man nie sicher wo man Fehler suchen muss, Hardware (bei
Verdrahtungsfehler) oder Software
Nachtrag:
Darko schrieb:> Mir hat niemand gesagt, dass das dumme Ding in Hexadezimal rechnet!
Warum sollte das auch jemand sagen?
Denn es stimmt nicht. Das wäre sogar gelogen.
Die hexadezimale Schreibweise/Repräsentation ist eigentlich nur für
Menschen gedacht. Sie soll uns das Lesen/Schreiben von Zahlen
erleichtern.
Die ganzen Unstimmigkeiten rund um die Pinbelegung hätten schon
laaaaange geklärt sein können, wenn du einen Schaltplan gezeichnet
hättest.
Aber ganz ehrlich: Wenn du jetzt einen vorlegst schaue ich ihn mir nicht
mehr an. Zu spät, meine Geduld ist am Ende.
Joachim B. schrieb:> ...Stefan ⛄ F. schrieb:> ...
Ich finde das voll doof von euch, dass ihr den Kollegen so anmacht.
Ihr zeigt ein unnötiges antisoziales Verhalten.
Denn ich möchte sein Programm schon sehen.
Diesen Wunsch macht ihr mir kaputt, wenn ihr ihn verärgert/erniedrigt.
Und sowieso:
Ihr beide seid nun gerade auch nicht die hellsten Kerzen auf dem Kuchen.
Darko schrieb:> Ich habe übrigens noch was herausgefunden, was ich ehrlich gesagt> bescheuert finde.>> Pin 1 auf dem AT mega 8 ist 0x02> Pin 2 auf dem AT mega 8 ist 0x04> Pin 3 auf dem AT mega 8 ist 0x08> Pin 4 auf dem AT mega 8 ist 0x10 Da muss man erst mal drauf kommen!> Mir hat niemand gesagt, dass das dumme Ding in Hexadezimal rechnet!>> Ich habe mich immer gewundert, warum bei 0x16 immer komische Dinge> passieren!
Hättest Dir blos mal eine Kurzbleiche in C/C++ gegönnt, ein paar
Beispiel-Programme nachvollzogen, ev. wie vorgeschlagen die <10€ für
einen Arduino ausgegeben und ein Wochenende mit den Beispiel-Sketches
gespielt - das hätte Dir unendlich viel Zeit und auch Frust erspart.
Ganz sicher wäre Dir dann auch aufgefallen, dass z.B. 0x... eine
Hexzahl, 0b... eine Binärzahl, 0... eine Oktalzahl darstellt - und Dir
wäre dann klar geworden, dass:
* 16 = 0x10 = 0b10000 = 020 - oder anders ausgedrückt
* 16(dez) = 10(hex) = 10000(bin) = 20(okt) dasselbe ist
und man jeweils die sinnvollste Darstellung sich frei aussuchen kann...
EOT meinerseits - habe keine Lust, mir unnötig den Mund fusselig zu
reden.
Kuck selber nach:
https://www.onlinetutorialspoint.com/c-program/c-number-system-decimal-binary-octal-and-hexadecimal.html
Stefan ⛄ F. schrieb:> meine Geduld ist am Ende.Jester schrieb:> EOT meinerseits
Echt Darko, was denkst Du Dir eigentlich? Das Ganze muss noch durch den
Freigabeprozess und der Kunde wartet schon! Ist doch keine
Freizeitveranstaltung hier! Wir brauchen Ergebnisse! Sonst wird das
Budget gestrichen!
Tssss ... Managertypen ...
Was soll die Hektik? Keine Zeit?
Wenn ich keine Zeit habe, bin ich nicht hier.
Darko offensichtlich auch nicht.
Darko lass Dich nicht stressen, Du machst das schon ganz richtig. In der
Ruhe liegt die Kraft.
Gruß
Jobst
Darko schrieb:> Ich habe übrigens noch was herausgefunden, was ich ehrlich gesagt> bescheuert finde.>> Pin 1 auf dem AT mega 8 ist 0x02> Pin 2 auf dem AT mega 8 ist 0x04> Pin 3 auf dem AT mega 8 ist 0x08
Das ist nicht bescheuert, sondern in Digitalsystemen notwendig.
Jedes Signal hat eine Wertigkeit, so dass man diese addieren und damit
mehrere ansprechen kann:
0x06 (0110) = Pin 1 und Pin 2 gleichzeitig
oder
0x0C (1100) = Pin 2 und Pin 3 gleichzeitig
Für Dich wäre es hilfreicher, das anstatt hex in binär abzubilden:
0x02 = 0010
0x04 = 0100
0x08 = 1000
Hi Darko
Du machst es dir und auch den Lesern hier schwer. Warum so kompliziert?
Mittlerweile über 200 Posts und immer noch fehlt Schaltbild. Du freust
dich, das du die "Maschine" am Laufen hast, gut.Dann ist das doch in
Ordnung, nur wenn dich der Bereich Elektronik, Mikrocontroller,
Programmierung usw.weiter begleiten soll, dann musst du unbedingt mehr
über das Dualsystem und binäre Logik lernen. Den meisten hier sind diese
Dinge schon so selbstverständlich, das sie vergessen, das ein Anfänger
mit Pin1 Probleme bekommen kann. Ich geh Mal wie die Allgemeinheit davon
aus, das du nicht den Anschlusspin, sondern den Port-In meinst. Da ist
es so, das wie in einem Byte die Bits mit der Basis 2 und dem Exponenten
der Stelle benannt werden,eben 2^0, 2^1,2^2 usw. Auf Pin1 Bezügen wäre
das 2^(Pin)1.
Wenn dich das Thema interessiert, dann schau dir mal bei
www.makerconnect.de im Forum unter der Rubrik FAQ. den Beitrag
https://www.makerconnect.de/index.php?threads/ver%C3%B6ffentlichung-pc-und-%C2%B5c-programmieren-in-vb-und-assembler-lehrbuch.4252/
an. Ich hoffe, der Link funktioniert... ich bin da nicht so fit drin.
Auch wenn du nicht an Assembler interessiert bist, da steht viel
Grundsätzliches drin und wird dir helfen, einiges zu verstehen.
Gruß oldmax
Hallo alle zusammen.
Ich möchte es hier niemandem schwer machen.
Ich versuche noch mal aus dem Gedächnis zu kramen was alles geschrieben
wurde.
Freizeit und Hobbyveranstaltung wurde genannt, dass das hier nicht sein
soll.
Für mich ist es aber gerade das. Dieses Projekt hat null mit meinem
Beruf zu tun. Ich mache dieses alles hier zu 100 Prozent Hobby und zu
100 Prozent Freizeit.
Dann wurde nach der Stromaufnahme gefragt. Ich kenne sie nicht. Ich habe
Schwierigkeiten damit Fragen zu beantworten, die aus meiner Sicht
aufwändig zu beantworten sind und aus meiner Sicht zu keinem sinnvollen
Ergebnis führen.
Warum ist es daher wichtig, ob der Atmega 8 nun 40 mA oder 45mA oder 70
mA benötigt. Das kann ich nicht nachvollziehen.
Auch das mit dem Schaltplan kann ich nicht zu 100 Prozent
nachvollziehen. Ich hatte ja geschrieben, dass ich das relativ
überschaubar gelötet habe.
Ich werde dennoch direkt nachdem ich das hier veröffentliche mit dem
Schaltplan anfangen und Ihn hier reinstellen. Das wird ja bestimmt
irgendwie Sinn haben warum ihr danach fragt. Wie gesagt die Hardware
funktioniert top.
Ich bezahle auch gerne 10 Euro für so Programmbeispiele auch 20 Euro.
Ich muss mich nur schlau machen wo es sowas zu kaufen gibt.
Bis gleich!
Darko schrieb:> Das wird ja bestimmt> irgendwie Sinn haben warum ihr danach fragt.
Sorry, aber ich habe nicht nach dem Plan gefragt!
Aber dir dennoch 3 Fehler(?) in deinem noch zu zeichnenden Plan
aufgezeigt.
Wobei von dir leider keine Einsicht kam, noch nicht mal eine Nachfrage,
sondern:
Das funktioniert so.
Gut, dann will ich davon auch nix mehr wissen.
Aber an deinem Programm habe ich Interesse. Das würde ich gerne sehen.
Allerdings auch eigentlich auch nur aus einem Grund:
Wie oft habe ich dich gefragt, was dir an meinem Programm nicht gefällt?
5 Mal? jetzt das 6te mal..?
Jetzt möchte ich sehen, ob meine Arbeit vollständig für die Tonne war,
oder ob du wenigstens einen Hauch davon mitnehmen konntest.
Wie auch immer....
Es gibt hier einige, welche dich für deine schnelle Auffassungsgabe
loben. Ich sehe das nicht ganz so optimistisch. Aber egal, denn das ist
nur meine Sichtweise, und sollte dich nicht behindern.
So, das müsste es in etwa sein.
Die ganzen Kontroll LEDs mit den Vorwiderständen habe ich jetzt
weggelassen.
Also wie gesagt Spannung drauf, 5 Eingänge und 5 Ausgänge.
Und die Schnittstelle zum Programmieren.
Das freut mich zu hören wenn jemand der Auffassung ist, ich habe eine
schnelle Auffassungsgabe.
Auch der Witz mit den 10 Leuten weiter oben war lustig. Auch wenn es nur
2 sind.
Das Programm habe ich leider zu hause noch. Ich bin ja hier jetzt auf
der Arbeit und hier ist nix los.
Hallo EAF. Schön, dass du noch immer die Kraft findest mich zu
unterstützen.
Könntest du mir bitte noch ein letztes Mal sagen, was du genau meinst
mit dem was du 5 oder 6 Mal gesagt hast?
Ist es das bezahlen des Programms? Wenn ja, habe ich mir den ein Tipp
(ich glaube von Stefanus) zu Herzen genommen, wenn man das selbst macht,
dann kann man das auch besser warten.
Ich habe hier auch ein paar mal Lösungen gesehen, wo ich gar nichts von
verstanden habe.
So könnte ich da auch nichts ändern.
Ich habe das Programm selbst entworfen und kann es jetzt auch nach einer
kleinen Einarbeitungszeit nach vielleicht 1 Jahr selbst verbessern oder
instand setzen, falls das Teil modernisiert wird oder so.
Ich werde euch allen versprechen, dass ich das Programm noch heute hier
hochladen werde.
LG
Darko schrieb:> So, das müsste es in etwa sein.
Also bleibt es bei meinen 3 Kritikpunkten an deiner Schaltung.
Was mich dazu bringt dieses anzuzweifeln:
Darko schrieb:> ich habe eine schnelle Auffassungsgabe.
Darko schrieb:> So, das müsste es in etwa sein.
Beschrifte die Pins vom Atmega, denn ich kenne seine Belegung nicht
auswendig.
Was mir da sofort ins Auge springt ist, dass du den GND Pin und AVCC auf
der rechten Seite nicht angeschlossen hast. Das muss aber, ist wichtig.
Bitte mit Kondensator.
Und spendiere den Spannungsreglern Kondensatoren gemäß den Vorgaben im
jeweiligen Datenblatt. Die sind auch wichtig. Ich denke das wurde
bereits geschrieben.
Am ISP Stecker fehlen ein par Leitungen.
Ok OK! Ich werde den Aref und den GND Pin auf der rechten Seite mit
Kondensator anschließen. Ihr seit ja vom Fach und dann mache ich das
einfach.
Ich denke das wird schon seinen Sinn haben.
Das Thema Auffassungsgabe würde ich auch gerne abschließen.
Ich bin mit Sicherheit nicht doof und auch mit Sicherheit nicht die
hellste Kerze auf der Torte, allerdings haut so mehr oder weniger alles
in etwa hin was ich baue und konstruiere. Dabei Spielt die Zeit eig. gar
nicht so die große Rolle. Es gibt vieles was ich nicht gut kann, zum
Beispiel programmieren (ich habe Angst das heute Abend hochzuladen) oder
kochen und es gibt Dinge die ich gut kann, fällt mir aber gerade nichts
ein. Das Teil dauert jetzt schon 2 Jahre und wenn es noch ein halbes
Jahr dauert, dann ist es auch so.
Hauptsache wir sind gesund!!
Noch was: Du wirst wohl den Reset-Eingang mit dem ISP Stecker verbinden.
Das Stückchen Leitung wird dann eine wunderbare Antenne für Radiowellen
geben. Und der Reset Eingang reagiert besonders empfindlich.
Wenn du keine sporadischen Resets bekommen willst, machst du da einen
Pull-Up Widerstand und einen Kondensator dran. Kannst du ja von
irgendeinem Arduino Board abgucken.
Hallo,
die Stromaufnahme ist deshalb wichtig um abschätzen zu können, wie hoch
die Verlustleistung ist. Abhängig von dieser erwärmen sich die
Spannungsregler und schalten ggf. auch wegen Übertemperatur ab.
Sowohl der Anschluss des 7812 als auch des 7805 ist wahrscheinlich
falsch gezeichnet.
Viele Grüße Otto
Hi
Nun, so schnell kann die Notwendigkeit eines Schaltplanes klar werden.
Ventile haben wie Relais eine Spule. Wenn du eine Spule einschaltest,
dann baut sich ein Magnetfeld auf und eine Kraft wirkt auf eine
Mechanik. Soweit unproblematisch aber, jetzt kommt's, wenn du
abschaltet, dann hast du eine sehr schnelle Magnetfeldänderung und die
Physik sagt, wenn sich eine Spule in einem Magnetfeld bewegt, wird eine
Spannung erzeugt. Je schneller die Magnetfeldänderung, desto höher die
Spannung. Das führt ohne Maßnahme in einer elektronischen Schaltung
früher oder später zu Schäden. Deshalb gehören an Relais und Ventile
Dioden, die in Sperrrichtung parallel geschaltet werden. Da die
Induktionsspannung entgegen der Versorgungsspannung gerichtet ist, wird
diese einfach kurzgeschlossen und kann keinen Schäden anrichten.
Gruß oldmax
Ja Wahnsinn! Die beiden Induktionsmöglichkeiten Magnetfeld ändern und
Bewegung eines Leiters im Mag. Feld sind mir bekannt. Danke für den
Hinweis!
Brauche ich denn dann 5 Sperrdioden oder 10 für 5 Ausgänge.
Ich denke das wird bei 12V kein Problem sein, denn ich glaube eine Diode
klaut 0,7 V. Also kommen nur 11,3V an an der Spule?
Erst einmal den versprochenen Quelltext.
Ich habe diesen einfach kopiert. Daher ist er in keinster weise schön
ausgerichtet. Im Programm steht jedoch alles an Ort und Stelle.
Bis morgen!
Achso noch was. Ein Ventil zieht ca 500mA. Da immer nur eins zur Zeit
geschalten wird, bleibt es dabei.
Ich prüfe die Temperatur der Bauteile mit meinem hornhautigem Daumen.
Wenn es nicht weh tut, geht es so. Ja ich weiß, dass das nicht so zu
hundert Prozent professionell ist.
Darko Dragojevic schrieb:> Ja ich weiß, dass das nicht so zu> hundert Prozent professionell ist.
Ja, nicht hundert Prozent professionell (also eher null Prozent)
ist auch dass du es innerhalb eines Monats nicht geschafft hast
die Kenntisse zu erwerben um Sourcecode als *.c Datei zu posten.
Darko schrieb:> Freizeit und Hobbyveranstaltung wurde genannt, dass das hier nicht sein> soll.
Ich hoffe, dass die Ironie, bei dem was ich schrieb, bei Dir angekommen
ist!
Das war nicht gegen Dich! Im Gegenteil!
Otto schrieb:> Sowohl der Anschluss des 7812 als auch des 7805 ist wahrscheinlich> falsch gezeichnet.
Ich denke, die Anschlüsse haben keine Zuordnung zur Realität.
10x R1 finde ich witzig.
Brennend würde mich allerdings die Verschaltung der Ventiltreiber
interessieren.
Dies einmal zu zeichnen würde ja ausreichen.
Ich bin mir fast sicher, dass die oberen 5 R1 wegfallen könnten.
Nun sind sie da. Also egal.
Das Relais hängt wirklich direkt am ATmega?
+24V an Pin 7 (Vcc)?
Pin 8 (GND) an +5V?
Los, komm! Das machen wir ordentlich, ich unterstütze Dich!
Den 7812 könntest Du auch durch eine Z-Diode ersetzen.
12V brauchst Du ja nicht ...
Okay, ist nun auch so, wie es ist.
Es gibt Probleme bei der Ansteuerung der MJ10012:
Die brauchen bis zu 600mA Basisstrom - das schafft der AVR nicht.
Was ziehen denn Deine Ventile?
Gruß
Jobst
Du hast 3 Ventile mit "Ventil 5" beschriftet.
Jeder GND Pin muss angeschlossen werden. In deinem Fall fehlt Pin 8.
Die Basis-Vorwiderstände an den Transistoren sollten wesentlich mehr als
5 Ohm haben.
Der Code ist - nun ... - wenig professionel.
Als ERSTE Maßname würde ich den Code etwas straffen.
Oft erkennt man Sequenzen wie
1
PORTC=4;
2
waitMs(500);
3
PORTC=0;
4
waitMs(200);
Hier soll wohl das Ventil 4 für 500ms betätigt werden.
Wieso schreibts du hier nicht
1
ventil(4,500);
2
waitMs(200);
und definierst dir eine Funktion
1
voidventil(intventil_nr,intdauer)
2
{
3
PORTC=ventil_nr;
4
waitMs(dauer);
5
PORTC=0;
6
}
in deinem Code steht dann
1
ventil(4,500);
2
waitMs(200);
Der Programmcode reduziert sich damit auf ca. die Hälfte - und wird
schon mal "etwas" übersichtlicher.
Zu überlegen wäre noch, ob du das anschließende
waitMs(200);
nicht auch noch mit in die Funktion ventil() mit rein packst, entweder
als 3. Parameter oder ein fixer Wert, z.B. 100
Ich würde die Ventile noch benennen, z.B.
Hallo Alle zusammen. Nun hatte ich endlich mal Zeit mir noch mal die
letzten Beiträge anzusehen.
Also das mit der Frage ob ich 5 oder 10 Sperrdioden brauche hat sich ja
aufgrund der geilen Zeichnung von Jobst erledigt. Danke Jobst!!!!
Ich würde wenn möglich gegen schmales Geld von Jobst das Programm
erwerben.
Das sieht so gut aus, dass ich mich richtig zusammennehmen muss um bei
Paint weiterzumachen, aber ich mache es natürlich.
Los, komm! Das machen wir ordentlich, ich unterstütze Dich!
Danke Jobst, dass du schon von Anfang an für mich da bist!
Auch viele andere wie EAF oder Stefanus etc. !!!
Ich werde erst mal die Bezeichnung der Pins vornehmen, dann Arev und GND
auf der rechten Seite des ATmega 8 versorgen, 5 Sperrdioden einlöten und
den 7805 und den 7812 mit Elkos versorgen.
Und dann hoffentlich so ein Programm auch als Demo Version von Jobst
installieren. Und dann nimmt das ja schon mal alles eine halbwegs
professionelle Richtung an meiner Meinung nach.
Und zum Thema Temperatur:
Die Ventile nehmen ungefähr 500mA an Strom.
Die Erwärmung der Bauteile messe ich wie gesagt mit dem Finger.
Ich könnte mit meinem Handy CAT S62 Pro mit der gut auflösenden
Wärmebildcamera auch die Temperatur auf einen Grad genau sehen, bringt
mir aber auch nichts, weil ich überhaupt nicht weiß wann es
temperaturtechnisch problematisch wird für diese Bauteile.
Und Jobst zum Thema Relais direkt ansteuern, hab ich mich vertan.
Der BC 546 oder BC547 sitzt vor dem Relais. Der Schaltet das.
Und dann noch eine Frage. Ich dachte der Mj10012 hat eine integrierte
Darlingtonschaltung. Woher kommen dann 600 mA Ansteuerstrom an der
Basis?
Bei 600 mA Ansteuerstrom könnte ich ja gleich das Ventil schalten, denn
das zieht keine 600 mA.
LG aus Bremerhaven
Darko schrieb:> und den 7805 und den 7812 mit Elkos versorgen.
Bitte keine Elkos, sondern was schnelleres.
Darko schrieb:> Woher kommen dann 600 mA Ansteuerstrom an der Basis?
Ich glaube er hat sich geirrt.
Der Klaus schrieb:> und definierst dir eine Funktion
Das kann ich dir sagen.
Unserem Darko ist das prozedurale Programmierparadigma schlicht noch
nicht geläufig.
Er hängt noch voll in der Kontrollflussorientierung fest. Das bringt die
Scheu davor mit sich, dass sich der Kontrollfluss zerfasern könnte.
Ich unterteile so: (provisorisch)
- Kontrollfluss orientiert (if/else, switch/case, Schleifen)
- Prozedural orientiert. (Funktionen)
- Daten orientiert ( struct, Array)
- Nebenläufigkeiten/Tasks/Threads
- Objekt orientiert (class, Methoden, Sichtbarkeit)
- Generische Programmierung
- Funktionale Programmierung
Die überzogene Kontrollflussorientierung führt halt zu genau solchen If,
else und Schleifen Kaskaden.
"Anfänger" neigen dazu es sich auf diesem Hügel bequem einzurichten.
Denn um den nächsten Hügel auf dem Wege des Erkenntnisgewinns, erreichen
zu können, muss ein Jammertal durchschritten werden.
Hallo Klaus.
Das wird ja richtig spannend und interessant.
Danke!!!
Ich werde mal versuchen das zu Hause umzusetzen.
um die Hälfte reduzieren klingt sehr gut!
Das ist auch der längste Quellcode den ich je geschrieben hatte.
Auch einen ADC Wandler hatte ich mal irgendwann verwendet (bei meinem
Drucksensor im Kessel).
Ich habe nicht gewusst, dass das hier im Forum dann doch noch so eine
tolle Wende nimmt. Wir sind ja nun alles andere als normal gestartet.
Vielleicht darf ich ja in einem oder 2 Jahren ja nochmal was fragen wenn
ich eine neue Herausforderung suche.
Stefan ⛄ F. schrieb:> Darko schrieb:>> Woher kommen dann 600 mA Ansteuerstrom an der Basis?>> Ich glaube er hat sich geirrt.
Ja!
500mA werden am Ventil gebraucht und der Darlington hat einen hFE von ca
300.
also sollten ca 2mA an der Basis ausreichen.
So ungefähr hatte ich da auch gedacht wie EAF.
Ich hatte noch in Erinnerung, dass sich die Verstärkungsfaktoren bei der
Darlingtonschaltung multiplizieren.
ob es nun ein Verstärkungsfaktor von 300 oder 100 ist weis ich nicht.
Aber ist ja auch überhaupt nicht schlimm wenn sich jemand irrt.
Ich habe mich bestimmt schon 2 mal geirrt hier in dem Forum.
Naja sagen wir eher 200 mal :-)
Darko schrieb:> So ungefähr hatte ich da auch gedacht
Ist nur die Frage, ob deine Basiswiderstände das auch in ein solches
Verhältnis setzen.
Da habe ich so meine Zweifel.
Also ich als Referent fühle mich hier im Moment gut aufgehoben.
Ich kann aber die Antwort von dem Ansager verstehen.
Ab und zu musste ich mich schon bei Freunden und Familie ausweinen.
Das gehört aber dazu denke ich.
Wir leben in einer Gesellschaft, wo nur noch wenige Menschen vor die
Türe gehen um ihre Meinung kund zu tun.
Stattdessen versucht man lieber anderen zu verbieten, sich zu äußern.
Mach mal Folgendes:
Im Programmkopf schreibts du rein
1
#define Taster_Klappe_AufZu (PINB & 0x20)
2
#define Schalter_Absaugung (PINB & 0x02)
3
#define Endschalter_Klappe_oben (PINB & 0x04)
4
#define Endschalter_Klappe_unten (PINB & 0x08)
5
#define Endschalter_Scharnier (PINB & 0x10)
In deinem Code steht dann z.B. statt:
- if ((PINB&0x20))
ein lesbares
- if (Taster_Klappe_AufZu)
Analog natürlich bei allen anderen derartigen Schalter-Konstrukten.
Was da passiert ist Folgendes:
Der Compiler (Preprocessor) ersetzt im Quelltext alle
"Taster_Klappe_AufZu" durch ein "(PINB & 0x20)" - genau wie die
Suchen/Ersetzen-Funktion im Editor.
Du fragst was das bringt? Nun, mit "Taster_Klappe_AufZu" kann der Leser
deines Programms spontan etwas anfangen - mit "(PINB & 0x20)" aber
nicht.
Sollte es dir irgendwann einfallen, dass du z.B. lieber "Eingang 64"
verwenden willst, kannst du das im #define an einer einzigen Stelle
(PINB & 0x40) anpassen - und du kommst nicht durcheinander, weil es es
bisher ja immer "Eingang 32" war - und du dich Übermorgen nicht mehr dan
erinnerst, ob du die Änderung überall durchgezogen hast.
Genaugenommen ist es eine sehr schlechte und fehleranfällige Methode,
wenn man im Programm direkt mit numerischen Werten arbeitet.
Das trifft auch auf die in meinem anderen Post verwendeten Zeiten zu.
Arbeite da besser mit Ersatzwerten wie z.B.
- #define Pause_Lang 500
- #define Pause_Kurz 100
- #define Schaltpause 10
Wichtig: TREFFENDE Namen für die Konstanten benutzen
Darko schrieb:> Warum soll der Ansager gesperrt werden?> das halte ich für eine schlechte Idee!
Negative Ausstrahlung, keinen Funken an Fachlichkeit.
Einfach nur provokant.
Ein Terrorvogel.
Klar, habe sich hier ein paar daneben benommen. Aber das wird nicht
besser wenn ein Ansager daherkommt und da noch eine weitere Dummheit
drauf setzt.
Zudem fordert er einen Bann!
Das ist ein mehr als anmaßendes Verhalten.
Von daher würde ich es als gerecht empfinden, wenn er erstmal selber die
Medizin zu schlucken kriegt, die er großmütig zu verteilen gedenkt.
Hi
Ja, das Schaltbild von Jobst ist richtig, aber ich habe meine Zweifel,
ob du die Beschaltung mit den Freilaufdioden verstanden hast. Ich hab
die mal in deine Zeichnung reinskizziert. Ob das mit dem Relais so
richtig ist, weiß ich nicht, aber richtig ist, das die Dioden in
Sperrrichtung geschaltet werden. Bei Betrieb haben sie keinerlei
Auswirkung auf den Stromkreis, beim Abschalten schließen sie die
auftretende Induktionsspannung kurz. So schützen sie die Elektronik von
den (sehr hohen) Induktionsspannungen.
Gruß oldmax
Der Klaus schrieb:> Genaugenommen ist es eine sehr schlechte und fehleranfällige Methode,> wenn man im Programm direkt mit numerischen Werten arbeitet.
Stimmt eigentlich!
Der Punkt fehlt hier in meiner Auflistung noch
Beitrag "Re: Brauche Hilfe AT Mega 8 im Raum Bremen evlt. vor Ort"
Ich nenne ihn mal
- Symbolische Programmierung
Symbol, meint hier in etwa "Sinnbild"
Also, statt direkter Werte, verwendet man eigens dafür erfundene
Symbole, z.B. ventilKlappeAuf
Ja achso. Das ist ja nicht so schön, wenn man Ärger macht.
Hm. Ja ich denke ich habe erst mal völlig ausreichend Input bekommen
mein Projekt zu überarbeiten. Wenn ich der Meinung bin, dass ich alles
umgesetzt habe was ich verstanden habe, dann würde ich mich gerne noch
mal zum Abschluss kurz melden. Und dann haben wir es endlich geschafft.
Naja eig. mehr Ihr als ich. Aber meine Anlage läuft dank euch dann
wenigstens.
Danke nochmal!! Bis bald!!
Darko schrieb:> dann würde ich mich gerne noch mal zum Abschluss kurz melden
Darko, freu dich mal nicht zu früh <beg>
Ich denke, du kannst aus dem Projekt viel mehr mitnehmen, als nur eine
funktionierende Sandstrahlkabine. Du hast Dir den schweren Weg
ausgesucht; notgedrungen, weil bezahlbare Hilfe nicht zu haben war.
Stellenweise hast Du dich aber auch angestellt, fast wie ein bockiges
Kind. Kinder glauben auch erst dann, dass heiß "Aua macht", wenn sie
sich mal ordentlich die Finger verbrannt haben. Danach sind sie dann
schlauer...
Aber um beim Thema zu bleiben: Dein Programmierstil ist unter aller
Kanone - und ich weiß, dass du das viel besser hin bekommst. Man sagt,
"aus Fehlern wird man klug". Daher wird Kritik fast immer das Schlechte
aufdecken. Das liegt in der Natur der Sache, hat nichts mit fies oder
gemein zu tun.
Aber genug der Vorrede...
Was zeichnet nun ein gut geschriebenes Programm aus? Ich habe das für
mich mal so definiert: Genauso wie gute Literatur, muss auch ein gutes
Programm lesbar sein. Mit "lesbar" meine ich, für den Menschen lesbar,
GUT lesbar. Dazu gehört auch, dass das Programm möglichst kurz sein
sollte, dass man möglichst auf einer Seite den Überblick bekommen
sollte.
Quasi eine gute Kurzgeschichte, die zu Lesen Spass macht.
Meist sind Programme aber länger. Hier gilt dann "divide et impera"!
Ich kann kein Latein, bleibe lieber beim "Teile und Herrsche"- und meine
damit: Zerschneide den Kuchen in handliche Stücke und verspeisse Eins
nach dem Andern!
Oder: Teile ein Problem in kleine, überschaubare Problemchen - und löse
diese dann getrennt. Manche sagen auch "top-down-Entwurf" dazu - aber
das ist mehr oder weniger das Gleiche.
Wenn ich mir dein Problem so ansehe, könnte man das ev. so beschreiben:
1
bisinalleEwigkeit{
2
wenn(Startgedrückt){
3
4
wenn(Klappezu){
5
machKlappeauf
6
}
7
sonst{// Klappe ist offen oder halb offen
8
machKlappezu
9
}
10
11
{
12
warte// falls jemand mit dem Fingerle sich
13
// auf der Taste ausruht
14
}bis(Startlosgelassen)
15
16
}
17
}
Dieses "Warte bis Taste 'Start' losgelassen wurde" - das habe ich dazu
gedichtet. Weil mir hier schon aufgefallen war, dass sonst eine
klemmende Start-Taste die komplette Klappe ziemlich schnell zerlegen
könnte.
Das setzt man nun 1:1 in C um - und nimmt die Beschreibung mit in'
Kommentar.
1
voidmain(void)
2
{
3
while(1){// oder for(;;) - jedenfalls forever
4
if(Start_gedrueckt){
5
6
if(Klappe_zu){
7
klappe_oeffnen();
8
}
9
else{// Klappe ist offen oder halb offen
10
klappe_schliessen();
11
}
12
13
do{
14
wait_ms(100);// falls jemand mit dem Fingerle sich
15
// auf der Taste ausruht
16
}until(!Start_gedrueckt);
17
}
18
19
}// end while(1)
20
}// end main
Das ist mir schon kompliziert genug! Also kommt da auch nicht mehr
rein!!
Verbleibende Teilprobleme:
* klappe_oeffnen()
* klappe_schliessen()
* Start_gedrückt
* Klappe_zu
* wait_ms()
Trivial - ich weiss. Zieh's Dir trotzdem rein. TIEF, GANZ TIEF rein ...
Tim T. schrieb:> Was mit immer noch nicht klar ist, was stört dich am Programm von EAF> Beitrag "Re: Brauche Hilfe AT Mega 8 im Raum Bremen evlt. vor Ort" ?> Mindestens als Ausgangspukt bist du damit deutlich weiter als jetzt...
Das hat er schon gesagt, glaube ich, ihm ist das zu naiv, zu einfach, so
dass er es nicht verstanden hat.
Ihm hat keine "Übung" in Sachen "Symbolischer Programmierung", was dann
die Aufteilung/Modularisierung wirksam verhindert.
Ich bin da anders gestrickt!
Ich empfinde ifs in 2 bis 3 Schachtelungstiefen mit komplizierten
Bedingungen schon als Last. Drum kommen sie bei mir nicht vor, zumindest
steht das weit oben auf der Liste.
EAF schrieb:> Ich empfinde ifs in 2 bis 3 Schachtelungstiefen mit komplizierten> Bedingungen schon als Last.
Schachteltiefe allgemein ist lästig. Drum finde ich das Intro, implizite
main(), von Arduino gar nicht mal so ganz daneben.
1
voidmain()
2
{
3
setup();
4
5
while(1){
6
loop();
7
}
8
}
Ein
// vi:set ts=4:
in der modeline mildert die Symptome etwas ab ...
Hallo,
die meisten Fragen zur Hardware können aus dem oben angehangenen Bild
der Lochrasterplatine entnommen werden:
1. Als Basiswiderstand der MJ10012S ist 3k3-Metallfilm verbaut.
2. Das Schaltbild von Darko zeigt die MJ10012S als High-Side (Plus der
Ventile geschaltet). Dies ist nicht richtig.
3. Gemäß Lochrasterplatine schalten diese aber die Low-Side was
bedeutet, dass die Emitter an GND liegen und Kollektoren zum Ventil
gehen.
4. Die anderen Anschlüsse der Ventile sind an +24V angeschlossen.
5. Die Kathode der Freilaufdioden muss also an +24V liegen und die Anode
zum Ventil.
Viele Grüße
Otto
EAF schrieb:> Tim T. schrieb:>> Was mit immer noch nicht klar ist, was stört dich am Programm von EAF>> Beitrag "Re: Brauche Hilfe AT Mega 8 im Raum Bremen evlt. vor Ort" ?>> Mindestens als Ausgangspukt bist du damit deutlich weiter als jetzt...>> Das hat er schon gesagt, glaube ich, ihm ist das zu naiv, zu einfach, so> dass er es nicht verstanden hat.
Ok, dann ist alles klar.
> Ihm hat keine "Übung" in Sachen "Symbolischer Programmierung", was dann> die Aufteilung/Modularisierung wirksam verhindert.
Und genau da würde er was wichtiges lernen.
> Ich bin da anders gestrickt!> Ich empfinde ifs in 2 bis 3 Schachtelungstiefen mit komplizierten> Bedingungen schon als Last. Drum kommen sie bei mir nicht vor, zumindest> steht das weit oben auf der Liste.
Klar, ist auch nicht nötig. Ich vermeide mittlerweile auch mehr als eine
Bedingung in der if-Abfrage, die lager ich dann entsprechend
hintereinander in Funktionen aus und der Quelltext wird dadurch viel
übersichtlicher und verständlicher.
Otto schrieb:> Die Kathode der Freilaufdioden muss also an +24V liegen und die Anode> zum Ventil.
Hi
Natürlich, aber das hab ich doch im Text geschrieben. Die Zeichnung von
Darko passt sowieso nicht, doch mir war wichtig, darauf hinzuweisen, daß
die Dioden parallel zu Ventilen und Relais liegen und nicht etwa in
Reihe oder sonst wie. Die Zeichnung von Jobst ist deshalb von mir auch
erwähnt.
Darko, nimm es mir nicht übel, aber du bist schon wirklich
gewöhnungsbedürftig. Einige Hinweise ignorierst du komplett, andere
nimmst du auf, setzt sie aber völlig unsinnig um. In meinem ersten
Beitrag hab ich mit einer kleinen Skizze gezeigt, wie so ein Programm
definiert werden kann. Deine Maschine hat drei Startbedingungen, mehr
nicht. Das sind: Grundstellung, Betriebsstellung und weder noch eines
der beiden, d.h.irgendwo dazwischen. Wenn du nun den Starttaster
drückst, dann geht es aus der "weder noch"-Stellung entweder Richtung
Grundstellung oder Betriebsstellung. Das legst du fest. Ansonsten von
Grundstellung nach Betrieb oder umgekehrt. Die Gebläse gibst du nur in
Betriebsstellung frei.
Wenn du in Schritten programmierst, kannst du dir die unübersichtlichen
If-Schachtelungen sparen. Auch die "Wartezeiten".
Da gibt es nur "Wenn Schrittbedingung, dann ausführen." Die
Schrittbedingung habe ich erklärt und die kannst du auch ganz einfach
erweitern.
Ganz einfach geht das mit zwei Tastern, Grundstellung und Betrieb. Dann
ist es völlig egal, welchen Zustand die Klappen haben.
Gruß oldmax
Stefan ⛄ F. schrieb:> Du hast 3 Ventile mit "Ventil 5" beschriftet.
Ich habe das von Darko so übernommen :-)
> Jeder GND Pin muss angeschlossen werden. In deinem Fall fehlt Pin 8.
Stimmt, der ist mir untergegangen. Das Relais zieht auf dem Plan auch
noch nicht an.
> Die Basis-Vorwiderstände an den Transistoren sollten wesentlich mehr als> 5 Ohm haben.
Dann können keine 600mA in die Basis fließen. Die habe ich mir als
Sättigungsstrom erstmal ganz frech aus dem DB geklaut.
Das der AVR das nicht schafft, weiß ich. Auch die Spannungsregler würden
dabei verglühen.
Dennoch war das in dem Moment der Stand der Dinge. Und natürlich sollte
das ins Auge fallen, nur nicht in Deins.
Wie sieht seine Schaltung denn wirklich aus? Ich will ja keine
Konstruktion machen, sondern den ist-Zustand aufnehmen.
Darko schrieb:> Ich würde wenn möglich gegen schmales Geld von Jobst das Programm> erwerben.
Welches Programm?
Meinst Du den Schaltplan?
Lade Dir KiCad auf Deinen Rechner.
Das ist kostenlos.
Datei hängt neben dem Bild an.
Dafür will ich nichts haben. Ich glaub' ich dreh durch! Ich vergnüge
mich hier! :-D
Darko schrieb:> weil ich überhaupt nicht weiß wann es> temperaturtechnisch problematisch wird für diese Bauteile.
Je kälter, desto besser. Mit der idealen Schaltung könntest Du hier
unter 1W Verlustleistung bleiben. Für die gesamte Schaltung ohne
Ventile.
Aber Du hast schon etwas anderes.
Sonst würde ich einen Schaltregler und MOSFETs empfehlen.
Bleib am besten unter 75°C, da kannst Du nichts falsch machen.
Die Transistoren wirst Du mit 500mA auch nicht groß beeindrucken können.
Darko schrieb:> Der BC 546 oder BC547 sitzt vor dem Relais. Der Schaltet das.
Ah!
Martin V. schrieb:> aber ich habe meine Zweifel,> ob du die Beschaltung mit den Freilaufdioden verstanden hast. Ich hab> die mal in deine Zeichnung reinskizziert.
Ich habe Zweifel an der dortigen Verschaltung der Transistoren.
High-Side mit einem NPN-Transistor wird schwierig ohne weitere
Ansteuerung.
Otto hat dies dann so wie in meiner Schaltung geändert.
Aber ich weiß nicht, wie es wirklich aussieht.
Darko, hier ist Info von Dir gefordert!
Gruß
Jobst
Nachdem ich bisher weitgehend die Klappe gehalten habe, weil ich weit
weg von Bremen war, bin ich jetzt für 3 Wochen nur 30km von Bremen
entfernt und Darko anscheinend nach Bremerhaven entschwunden ...
Trotzdem ein Vorschlag meinerseits.
Für mich ging es immer am schnellsten vorwärts, wenn ich "Bottom-Up"
programmiert und aufgebaut habe. Wäre es nicht sinnvoller, man empfähle
Darko erstmal die Elektronik für ein Ventil aufzubauen und das dann
testweise ein- und auszuschalten? Da er ein Board von myAVR hat und per
USB Programme einspielen kann, sollte das doch problemlos gehen. Damit
kann man mit C die Basic- und Forth-Methode des sukzessiven
Programmierens simulieren. Zumindest wäre ihm dann gleich zu Anfang
aufgefallen, daß er die falschen Anschlüsse benutzt hat :-)
Was halten die Experten davon?
Gruß
Klaus
Klaus S. schrieb:> Wäre es nicht sinnvoller, man empfähle Darko erstmal die> Elektronik für ein Ventil aufzubauen und das dann testweise> ein- und auszuschalten?
Das hat er doch schon lange hinter sich.
Hallo alle zusammen. Vor genau 1 Jahr habe ich dieses Thema erstellt.
Ich hoffe, dass es hier noch den einen oder anderen abschließenden
Hilferat geben wird.
Vorab möchte ich allerdings noch einmal ausdrücklich danken, dass Ihr
alle damals die Kraft und Zeit genommen habt, mein Projekt zu dem zu
machen, was es jetzt ist!
Danke!
Ich habe mir in den letzten 10 Tagen die Mühe gemacht, jeden einzelnen
Pin sämtlicher elektronischen Bauteile zu überprüfen und das in Form des
mir hier empfohlenen Programms KiKad zu zeichnen. Das Ergebnis ist
anbei. Vielleicht schafft es der ein oder andere da nocheinmal
drüberzuschauen und mir eventuell noch ein fehlendes Bauteil
mitzuteilen.
Ich hoffe, dass die Pläne so einigermaßen nach Norm sind.
LG Darko
Oha
Gewöhne dir mal an, die Bauteile zu nummerieren, wie Kicad das auch
automatisch kann. Q1, Q2, Q3, R1, R2, R3, usw. Ich habe jetzt nämlich
Probleme, in meinem Text anzugeben, welches Bauteil ich meine.
Die 4 Transistoren für die Ventile sind falsch herum (C,E vertauscht).
Wer hat dich dazu gezwungen, diese riesigen sau teuren Transistoren zu
verwenden? Schau dir meine Vorschläge an:
http://stefanfrings.de/transistoren/index.html#mosfet
Dein Relais-Kontakt hängt in der Luft, er schaltet nichts. Die
Freilaufdiode am Relais ist falsch herum.
Dem Mikrocontroller fehlt ein Abblock-Kondensator mit z.B. 100nF.
Ich bin sicher, dass der 33µF Kondensator am Ausgang des 7805 falsch
ist. Schau ins Datenblatt, was da hin gehört. An seinem Eingang fehlt
ein Abblock-Kondensator gemäß Datenblatt.
Beim 7812 hast du die gleichen Fehler.
Stefan F. schrieb:> Und spendiere den Spannungsreglern Kondensatoren gemäß den Vorgaben im> jeweiligen Datenblatt. Die sind auch wichtig.Stefan F. schrieb:> Bitte keine Elkos, sondern was schnelleres.
An den Reset Eingang gehört mindestens ein Pull-Up Widerstand, besser
auch ein Kondensator mit z.B. 1µF. Sonst empfängt die Leitung zum ISP
Stecker Radiowellen und resetted den Mikrocontroller sporadisch.
Stefan F. schrieb:> Das Stückchen Leitung wird dann eine wunderbare Antenne für Radiowellen> geben. Und der Reset Eingang reagiert besonders empfindlich.>> Wenn du keine sporadischen Resets bekommen willst, machst du da einen> Pull-Up Widerstand und einen Kondensator dran. Kannst du ja von> irgendeinem Arduino Board abgucken.
Die Sicherung vor dem 12V Spannungsregler ist unnötig, der schützt sich
schon selbst. Stattdessen vermisse ich eine Absicherung der 24V Schiene.
Die Pins von deinem ISP Stecker sind falsch belegt. Halte die an die
Standards! https://de.wikipedia.org/wiki/In-System-Programmierung
AGND muss angeschlossen werden.
AREF gehört nicht an 5V sondern an einen kleinen Kondensator (z.B.
10nF).
Welchem Zweck dient der dicke 2200µF Elko an der 24V Schiene? Wenn du
dafür keinen guten Grund hast, dann lasse ihn weg.
Was stattdessen eher Sinn macht, ist eine Diode in Kombination mit einem
Elko:
1
24V o---|>|---+----+---[7812]---+---
2
| | | |
3
=== === | ===
4
| | | |
5
GND o---------+----+-----+------+---
6
220µ 330n 100n
So bleiben die 12V und die 5V stabil, auch wenn die 24V mal kurz
einbrechen.
Hallo Darko,
diesmal möchte ich Dir danken und auch gratulieren.
Du hast meinen Tag gerettet.
Und zwar dadurch, dass Du vor genau einem Jahr diesen Threat eröffnet
hast.
Das Du es geschafft hast, ohne wirklich sinnvollen Inhalt die Experten
dieses Forums hinzuhalten und in Deine Geschichte einzubauen. Dafür
gebührt Dir meine Hochachtung. Eigentlich wird hier so etwas mit dem
Vermerk auf den Freitag oder einem vermutetem Trollversuch
abgeschmettert. Bei Dir jedoch nicht.
Ich habe selbst schon nach so einer Geschichte gesucht, aber Deine kann
ich nicht toppen.
Ich vermute mal, Du bist entweder ein so guter Experte, dass Du genau
weißt, wie hier im Forum gedacht wird und nutzt das als Werkzeug oder
aber Du kannst einfach nur gut Geschichten erzählen und nutzt die
Eitelkeiten der hier Schreibenden.
Meine Vermutung: Ersteres!
Also wirklich, top, ich lehne mich wieder zurück und schaue mal, wie es
weiter geht.
Vielleicht baust Du neben Klappen, Schanieren und Saugern ja auch noch
mal einen Scheinwerfer ein.
Schöne Grüße,
Waltraud
Tim T. schrieb:> Womit wir wieder am Punkt wären, dass es hier nicht ums helfen geht> sondern nur irgendwie seinen Scheiß abzusondern...
an welcher Stelle soll man dem TO noch helfen nach einem Jahr?
Ausserdem ist "macht Sinn" nur eine dümmliche Übersetzung von "make
sence"
Selbst google kann das zu "Sinn ergeben" übersetzen.
Wenn schon Scheiß abgesondert wird, lest alle Beiträge und versucht zu
verstehen.
Glückwünschende schrieb:> Hallo Darko,>> diesmal möchte ich Dir danken und auch gratulieren.> Du hast meinen Tag gerettet.> Und zwar dadurch, dass Du vor genau einem Jahr diesen Threat eröffnet> hast.>> Das Du es geschafft hast, ohne wirklich sinnvollen Inhalt die Experten> dieses Forums hinzuhalten und in Deine Geschichte einzubauen. Dafür> gebührt Dir meine Hochachtung. Eigentlich wird hier so etwas mit dem> Vermerk auf den Freitag oder einem vermutetem Trollversuch> abgeschmettert. Bei Dir jedoch nicht.
+1
Tim T. schrieb:> q.e.d.
ich fand deinen Beitrag nicht scheisse, also q.e.d. passt eigentlich
nicht und niemand kann Sinn machen ausser Sprache zu vergewaltigen!
Joachim B. schrieb:> niemand kann Sinn machen ausser Sprache zu vergewaltigen!
Das ist so eine Sache. Der Ausdruck kommt von der deutschen
Synchronisation amerikanischer Filme, da passt "macht Sinn" besser zur
Lippenbewegung der englischsprachigen Schauspieler.
Wer also ständig amerikanische Serien schaut, verändert im Laufe der
Zeit den Sprachschatz. Das deutsche "Technologie" ist auch nur eine
Übernahme aus dem angelsächsischen "technology". Im Deutschen ist
Technologie die Wissenschaft von der Technik. Trotzdem reden alle
Wichtigtuer von Technologie, wenn sie Technik meinen. Klingt vielleicht
eindrucksvoller? Mehr Schein als Seinen?
Gruß Klaus (der soundsovielte)
Klaus S. schrieb:> Joachim B. schrieb:>> niemand kann Sinn machen ausser Sprache zu vergewaltigen!
Da hat Joachim wohl ganz schnell seinen Beitrag gelöscht, während ich
meine Antwort schrieb.