Hallo.
Wage mich gerade für ein Projekt an Bascom ran und mache erste Schritte.
Es wäre nett, wenn Ihr mal schauen könntet, ob ich auf dem richtigen Weg
bin oder wo noch etwas fehlt.
Im Anhang der zugehörige Schaltplan.
Hallo Nicho,
schön, dass Du Dich mit dem Thema beschäftigst.
Aber aller anfang ist schwer ...
Ich fang mal so an:
1. Man zeichnet die Masse im Schaltplan nicht wild herum. Das nimmt jede
Übersichtlichkeit und verwirrt. Nimm das Symbol und setze es an die
benötigten Stellen.
2. Was macht der 20R Widerstand zwischen VCC und GND?
Ist das eine Grundlast fürs Netzteil? Ist der R gut gekühlt?
3. Jeder BASCOM Code nach dem erste "loop" wird nicht augeführt.
Da musst Du nochmal ran.
4. Es gibt nur eine Hauptschleife die Du mit do ... loop machen
solltest.
Du hast zu viele im Code, wo Du nie mehr rauskommst.
5. Das LCD ist nicht im Schaltplan.
6. AREF ist nicht beschaltet.
7. Mach im BASCOM Code die Konfigurationen alle am Anfang und nicht
mitten
im Code.
Das wars erstmal fürs Erste ...
8. Zu glauben man könne ein größeres Programm schreiben, indem man
mehrere kleinere Progamme in eine gemeinsame Datei zusammenkopiert, ist
meistens ein Trugschluss. Grundsätzlich schreibst du ein neues Programm!
Wenn du in diesem Programm Teile von vorhergehenden anderen Programmen
benutzen kannst, dann ist das schön, bedeutet aber nicht, dass du nur
Copy&Paste machen musst.
Wie gesagt: Du schreibst erst mal ein neues Programm, d.h. du musst dir
dafür die passende Logik überlegen und ein Konzept zurecht legen.
Älteren Code kannst du als Quelle nehmen, um dir die eine oder andere
Tipparbeit zu ersparen, mehr aber auch nicht. Aber einfach nur
zusammenkopieren - das wird nichts.
9. Waitms ist selten die Lösung - aber oft das Problem. Waitms
ist gut für kleine Spielzeugprogramme, wenn man etwas testen will
ohne sich die Arbeit machen zu wollen, eine ordentliche Zeitsteuerung
aufzubauen, weil es bei dem Test darum geht eine bestimmte
Funktionalität zu testen und die Zeitsteuerung nur Mittel zum Zweck
ist, diese Funktionalität in einigermassen regelmässigen
Zeitabständen in diesem Standalone-Test auszulösen.
Aber für feldtaugliche Programme ausserhalb des Testgeländes ist es
nicht zu gebrauchen. Zeitsteuerungen macht man mit einem Timer.
Danke für die Antworten.
2. Genau, Grundlast für das NT.
5. Sollte nur im Code vorgemerkt sein für spätere Nachrüstung, habe ich
vergessen zu erwähnen.
6. Wie muss AREF denn beschaltet sein?
Zu den restlichen Punkten:
Setze mich nochmal mit auseinander, danke.
Nicho F. schrieb:> Danke für die Antworten.>> 2. Genau, Grundlast für das NT.
1/4 Ampere als Grundlast? Dir ist hoffentlich klar, dass dieser
Widerstand in erster Linie eine prima Heizung ist. An diesem Widerstand
werden 1.25 Watt verbrutzelt. Aber auch nur, wenn du einen geeigneten
dafür benutzt. Ein üblicher 1/8 Watt Widerstand wird da schnell heiß,
ehe er dann verkohlt.
Was ist denn das für ein Netzteil? Besorg dir doch was ordentliches. Und
sei es nur ein popeliger 7805 an einem noch popeligerem 9V
Steckernetzteil.
> 6. Wie muss AREF denn beschaltet sein?
Einfach nur ein 100n Kondensator von AREF nach Masse.
Nicho F. schrieb:> Strom wird aus dem PC-Netzteil gewonnen.
Ah ja.
Also das ungeeigneste, was man sich als Bastelnetzteil vorstellen kann.
Na dann. Gut brutzel.
Nicho F. schrieb:> Hier wurde mir aber gesagt, die Schaltung sei so in Ordnung.>> Beitrag "Schaltung ATmega8 (Servoansteuerung, Temperatur)">>> Karl Heinz Buchegger schrieb:>> Na dann. Gut brutzel.>> Vielen Dank für den zynischen Kommentar, so macht der Einstieg in die> Materie richtig Spaß.
Ich sach mal so:
Man kann natürlich eine Schwerlastwinde dazu benutzen, um das Sofa aus
dem Garten in den ersten Stock zu hieven. Aber wenn man dabei einen
Fehler macht, dann zieht die Winde beinhart das Sofa durch den
Fensterstock durch und hinterlässt dabei Kleinholz, ehe die "Da
blockiert irgendwas" Sicherung der Winde anspringt.
Da hat es bei einem Fehler schon längst den Deckel deines Mega
abgesprengt, ehe das Netzteil überhaupt anfängt sich mal 'Gedanken
darüber zu machen', ob man nicht eventuell vielleicht mal eine Sicherung
auslösen könnte.
Nicho F. schrieb:> Hier wurde mir aber gesagt, die Schaltung sei so in Ordnung.>> Beitrag "Schaltung ATmega8 (Servoansteuerung, Temperatur)"
LOL.
Welchen Sinn macht es, ein Netzteil einzusetzen, welches problemlos 30A
liefern kann, wenn man es dann mit einer 200mA Sicherung 'entschärft'?
Oder kaufst du dir einen Ferrari um dann nicht schneller als 30km/h zu
fahren?
Eine Sache vorweg: Von italienischen Autos halte ich sowieso nichts ;)
Die Sicherung war dazu da, dass das Netzteil bei einem Kurzen in der
Schaltung keinen Schaden nimmt.
Deine Argumentation mit dem überdimensionierten Netzteil verstehe ich
nicht ganz.
Soll ich die Schaltung ohne Sicherung an das PC-Netzteil hängen?
Die Metapher mit dem Ferrari finde ich an dieser Stelle unangebracht,
das Netzteil muss ja schließlich den PC versorgen und den Strom für die
Schaltung nebenher "aus dem Ärmel schütteln".
Nicho F. schrieb:> das Netzteil muss ja schließlich den PC versorgen und den Strom für die> Schaltung nebenher "aus dem Ärmel schütteln".
Ach: das wusste ich nicht, dass du diese Schaltung an einen PC drann
bauen willst! Normalerweise baut man solche Dinge alleinstehend.
> Die Sicherung war dazu da, dass das Netzteil bei einem Kurzen> in der Schaltung keinen Schaden nimmt.
LOL. Anders rum! Anders rum!
Ein PC-Netzteil fackelt dir beim geringsten Fehler deine Mega-Schaltung
ohne mit der Wimper zu zucken ab! Dein Argument ist es momentan, dass du
an einem Panzer eine Stossstange anbringen willst, damit der Panzer
keinen Schaden nimmt, wenn er durch das Haus durchfährt, dass du gerade
baust. Der Panzer nimmt sowieso keinen Schaden! Der kracht einfach durch
das Haus durch ohne langsamer zu werden.
Karl Heinz Buchegger schrieb:> Ach: das wusste ich nicht, dass du diese Schaltung an einen PC drann> bauen willst! Normalerweise baut man solche Dinge alleinstehend.
Wurde oft genug geschrieben im anderen Thread, abgesehen davon:
Warum zur Hölle sollte ich temperaturgeregelte Lüfter in der
Gehäusedecke meines Computers über eine externe Stromquelle ansteuern...
Umständlicher kann man gar nicht mehr denken.
> LOL. Anders rum! Anders rum!
Nichts mit andersrum.
Um die Arbeit für die Schaltung wäre es zwar schade, aber die 3€ sind im
Vergleich zu einem 120€ aufwärts Netzteil vollkommen egal.
Deswegen nochmal für Dich:
Ich möchte das Netzteil und meine sonstigen Komponenten vor der
Schaltung schützen!
Die Sicherung hatte ich deshalb eingeplant, damit nicht gleich alles
hoffnungslos abbrutzelt.
Wenn sie diesen Zweck nicht erfüllt, dann sag es mir bitte.
> Wurde oft genug geschrieben im anderen Thread
Entschuldige bitte, dass ich nicht immer alle 200 täglich anfallenden
Threads auswendig kenne. Ich bemüh mich ernsthaft, aber ich komm nicht
hinterher, mir immer alle Details aller Problemkreise der Fragesteller
in allen Threads zu merken.
Edith:
Auf eines aber kannst du wetten: den Name 'Nicho F.' merke ich mir :-)
Ich erwarte natürlich von keinem, dass er alle Threads auswendig kennt.
Wenn Du dich jedoch über mein Vorhaben lustig machst (abzulesen an
Deinen "LOL"'s), das jedoch zum Großteil darauf beruht, dass Du
schlichtweg nicht gelesen hast, was ich vorhabe, finde ich das
unmöglich.
Merk Dir meinen Namen ruhig, aber sei mir bitte nicht böse, wenn ich das
nicht mit Deinem tue und sei nicht enttäuscht, wenn du meinen hier nicht
mehr siehst.
Ich habe freundlich und respektvoll gefragt.
Aber anscheinend wird sich ja hier nur über Leute lustig gemacht, die
sich nicht mit der Materie auskennen.
Karl Heinz Buchegger schrieb:> Na dann. Gut brutzel.> LOL.> LOL. Anders rum! Anders rum!
Mensch, wir sind doch nicht mehr im Kindergarten.
Danke jedoch an den Gast, der mir zuerst geantwortet hat.
Werde mir die Sachen nochmal in Ruhe ansehen.
@ Nicho F.
Solche dämlichen Statements wie Deine habe ich hier schon länger nicht
mehr gelesen. Je dümmer desto patziger und lernresistenter. Und ja, Du
hast Recht, wir sind hier nicht im Kindergarten. Über Deine Netzteil
Ansichten habe ich trotzdem herzhaft gelacht. You made my day :)
Ich bin weder dumm noch patzig.
Lernresistent/-unwillig bin ich ebenfalls nicht, sonst wäre ich nicht
hier.
Mehrfach habe ich geschrieben, dass ich neu auf dem Gebiet bin und
deshalb Eure Hilfe benötigte.
Auch war ich anfangs sachlich und freundlich.
Leider kamen irgendwann nur Antworten wie "Gut brutzel" anstelle von
konstruktiven Verbesserungsvorschlägen.
@Albert:
Wir haben uns doch nie was getan, oder?
Findest du es nicht ein wenig voreilig, einen Menschen dämlich, dumm,
patzig und lernresistent zu nennen, mit dem Du noch nie ein Wort
gewechselt hast?
Kann sein, dass Ihr Euch aufgrund meiner Unwissenheit angegriffen
gefühlt habt, das war nicht meine Absicht.
Dennoch fand ich die Art, wie Karl Heinz mir zu helfen versucht hat,
etwas befremdlich.
@ Nicho F.
>Findest du es nicht ein wenig voreilig, einen Menschen dämlich, dumm,>patzig und lernresistent zu nennen, mit dem Du noch nie ein Wort>gewechselt hast?
Dämlich habe ich nicht Dich bezeichnet, sonder explizit Deine
Statements. Es gibt genügend kluge Menschen, die auch schon mal Blödsinn
reden. Da sei es erlaubt, diesen auch so zu bezeichnen. Und ja, patzig
und lernresistent betraf tatsächlich Dich.
Wenn Du Dir schon wegen dem Spruch "gut bruzzel" so ans Bein gepinkelt
fühlst, bist Du hier fehl am Platz. Karl Heinz Buchegger hat genügend
konstruktive Vorschläge gemacht. Es gibt hier Hilfe zur Selbsthilfe,
keiner wird Deine Arbeit machen. Ich an Deiner Stelle hätte mal nach
Karl Heinz's Spruch meine Schaltung überdacht. Aber das ist wohl in den
Wind gesprochen ...
wenn ich "bascom" im thread lese ignoriere ich mittlerweile den thread
und vermeide technische Antworten darauf. es läuft scheinbar immer auf
dasselbe hinaus.
Martin schrieb:> wenn ich "bascom" im thread lese ignoriere ich mittlerweile den thread> und vermeide technische Antworten darauf. es läuft scheinbar immer auf> dasselbe hinaus.
Deinen restlichen geistigen Dünnpfiff kannst du dann aber auch gerne
selber behalten. Statt "technischer Antwort" kommt halt das übliche
dümmliche Gelaber.
Doch Albert, natürlich habe ich die Schaltung überdacht und tue es
immernoch, ich möchte nur nicht alles gleich ins Forum stellen.
Wie Du lesen kannst, habe ich nach den ersten Antworten geschrieben,
dass ich mich nochmal in Ruhe ransetze und Karl Heinz auf seine Frage
mit dem Netzteil geantwortet (7. Post insgesamt).
Da war das Thema für mich schon gegessen, ich habe mich über Eure Hilfe
gefreut und gut.
Doch dann schrieb Karl Heinz, dass das PC-Netzteil Schwachsinn ist und
das mit dem Brutzeln.
Ich fühle mir nicht wegen des Spruches ans Bein gepinkelt, sondern
deshalb, dass in diesem Post kein konstruktiver Verbesserungsvorschlag
mehr war.
Lediglich die Aussage, dass mein Vorhaben nichts taugt.
"Es gibt hier Hilfe zur Selbsthilfe,
keiner wird Deine Arbeit machen."
Gebe ich Dir vollkommen Recht, deswegen habe ich mich anfangs bedankt
und mich in Ruhe rangesetzt.
Danach begann erst das Gestichel von Karl Heinz.
Meine Fragen waren doch schon längst beantwortet.
Aaalso ... Leuts kommt mal runter.
Es sind da eingangs wahrscheinlich einfach nur ein paar
Missverständnisse rein gekommen.
a) wurde es wohl so verstanden, dass die Schaltung alleine an einem
PC-Netzteil hängen würde, der TO hat dann nachgelegt, dass das Ding in
nen PC eingebaut werden soll.
b) Die Sicherung macht Sinn, sie schützt Deine Schaltung vor dem
Netzteil, sprich bei Fehlfunktion raucht Dir weder das Netzteil noch die
Schaltung ab.
c) Der Grundlastwiderstand wird wohl nur zur evaluierung drinnen sein,
später im PC wirds genügend andere Lasten geben, die die Funktion
übernehmen werden.
So, on Topic ... Der Schaltplan ist eher semipro ... an der Stelle ein
Tip, es gibt einige Freeware für CAD Schaltungsentwurf und
Leiterplattendesign,
Eagle, Target 3001 etc. da evtl. mal nachschauen.
Zur Programmierung ...
Es gibt da übliche Strukturen, die durchaus Sinn machen sich zu
beherzigen.
Du hast eine Subroutine, die beim Start angesprungen wird und nie
beendet wird (do loop), die nennst Du Sub Main ... Dann hast Du nochmal
ne do - loop, die aber nie abgearbeitet wird weil Deine Sub nie beendet
wird.
Das wird so nix, sorry.
übliche Programmstruktur sieht in etwa so aus:
Deklaration von Konstanten und Aliassen
Variablendeklaration der globalen Variablen
Deklaration der Subroutinen
Deklaration der Funktionen
Hardwareinitialisierung / initialisierung der Interrupthandler
Do
... Aufruf von Subroutinen (ohne Endlosschleifen)
... Aufruf von Funktionen (ohne Endlosschleifen)
... Aufruf von Subroutinen (ohne Endlosschleifen)
... Aufruf von Funktionen (ohne Endlosschleifen)
Loop
Subroutinen (mit lokalen Variablen wenn notwendig)
Funktionen (mit lokalen Variablen wenn notwendig)
Interruptroutinen (wenn vorhanden)
Es ist noch kein Meister vom Himmel gefallen und aller Anfang ist
schwer, also immer locker bleiben.