Hallo!
Vorweg 2 Dinge:
1.Ich habe die SuFu & G**gle genutzt, aber nichts gefunden was mir
konkret hilft!
2.Ich habe vom Programmieren keine Ahnung! Das betrifft ebenso ic's.
Anliegen:
Zur Steuerung eines Computers inklusive elektrischer Komponenten soll
ein Codeschloss per 3*4 Tastaturmatrix benutzt werden.
Bsp.:
Code - Funktion
_1234 - Power
_4321 - Reset
_4364 - Beleuchtung 1
_6532 - Lüfter 1
usw...
Mein Problem:
Es gibt ja diese Anleitung von einem russischem (?) Programmierer, eine
englische Seite. Dort gibt es einen Ausgang mit einem Relais.
Ich bräuchte aber bestimmt so 10-15 Ausgänge. Ich weiss das es geht,
aber nicht wie.
Meine 2 Fragen:
1. Welcher AVR von Atmel bietet genügend Ausgänge? (Ich konnte das beim
besten Willen nicht herausfinden - auch wenn ein AT-Mega wahrscheinlich
das richtige wäre...hätte nur gern gewissheit)
2. Wie sieht ein entsprechender Schaltplan mit so vielen Ausgängen aus?
Falls jemand die Zeit finden würde mir einen Schaltplan zu erstellen
oder zumindest soweit zu helfen das ich es selbst hinbekomme, dann wär
das wirklich prima. Selbst Löten könnte ich das ganze...Die
Programmierung ist dann ein anderes Problem.
Eine kleine Anmerkung:
Ich weiss das viele dazu raten sich selbst in die Materie einzulesen,
aber ich bin wirklich absoluter DAU, das würde Jahre dauern ;)
Angeben möchte ich damit auch nicht, es ist schlichtweg eine Möglichkeit
alles elektrische über eine relativ kleine Bedieneinheit zu steuern.
(Helfende User würde ich selbstverständlich auf Wunsch bei Publikation
des Casecons nennen!)
!!Das ganze hat Zeit und eilt nicht!!
Freundliche Grüße,
O. Schmidt :)
O. Schmidt wrote:
> 2.Ich habe vom Programmieren keine Ahnung! Das betrifft ebenso ic's.
Es gibt folgende Möglichkeiten:
Du hast nen Freund, der Dir das macht
Du hast sehr viel Geld und beauftragst nen Entwickler
Oder Du lernst es.
> Es gibt ja diese Anleitung von einem russischem (?) Programmierer, eine> englische Seite. Dort gibt es einen Ausgang mit einem Relais.
Ein merkwürdiger Satz und vollkommen sinnfrei.
Es gibt bestimmt tausende russische Programmierer, die irgendne
Anleitung geschrieben haben.
Wenn man sich auf irgendwas bezieht, muß man es schon eindeutig
benennen, z.B. Autor, Buchtitel, Seite oder URL zu dem Artikel.
> 1. Welcher AVR von Atmel bietet genügend Ausgänge? (Ich konnte das beim> besten Willen nicht herausfinden - auch wenn ein AT-Mega wahrscheinlich> das richtige wäre...hätte nur gern gewissheit)
Im Datenblatt steht z.B.: 23 Programmable I/O Lines
Peter
Achso bei den I/O-Lines war ich mir nur nicht sicher ob das alle pins
sind oder eben nur die Ausgänge.
Mein Fehler, hier der Link zu dem angesprochenen Codeschloss mit einem
Ausgang:
http://www.avr.4mg.com/custom3.html
[quote]
Es gibt folgende Möglichkeiten:
Du hast nen Freund, der Dir das macht
Du hast sehr viel Geld und beauftragst nen Entwickler
Oder Du lernst es.
[/quote]
Nunja, ich poste hier weil ich mir Hilfe durch ein Communitymitglied
erhoffe - Ich geh mal davon aus das ein "Wissender" für ein solches
Programm wohl kaum mehr als eine Stunde braucht - meine Wenigkeit
hingegen bräuchte bestimmt ein halbes Jahr um sich überhaupt einzulesen
in die BASICS.
Wenn solche Hilfe hier nicht zu finden ist, gut, dann muss ich damit
abfinden...Aber die Hoffnung stirbt bekanntlich zuletzt :)
Ich würde einen ATmega 644 nehmen und PortB0:...7 und PortC0...7 für
die relais benutzen.Das Taster-Matrix An PortA anschließen und fertig.Am
Schaltplan arbeite ich gerade!!
Tristan Seifert wrote:
> Ich würde einen ATmega 644 nehmen
Also mit Kanonen auf Spatzen schießen.
Und womit füllst Du die restlichen 63,5kB Flash?
Ein ATmega8515 reicht da dicke.
Peter
O. Schmidt wrote:
> Nunja, ich poste hier weil ich mir Hilfe durch ein Communitymitglied> erhoffe - Ich geh mal davon aus das ein "Wissender" für ein solches> Programm wohl kaum mehr als eine Stunde braucht
Ich weiß jetzt nicht, ob Du das erste mal ein Forum besuchst (scheint ja
so).
Aber ich glaube nicht, daß es irgendein anderes Forum mit "Wünsch Dir
was" gibt.
Entweder Du nimmst die fertigen Lösungen (Dein Link) so wie sie sind
oder Du kniest Dich selber rein.
Peter
>>>>>> Nunja, ich poste hier weil ich mir Hilfe durch ein Communitymitglied>>>>>> erhoffe - Ich geh mal davon aus das ein "Wissender" für ein solches>>>>>> Programm wohl kaum mehr als eine Stunde braucht
In was sollte denn das programm geschrieben sein?
Zitat
Ich weiß jetzt nicht, ob Du das erste mal ein Forum besuchst (scheint ja
so).
Aber ich glaube nicht, daß es irgendein anderes Forum mit "Wünsch Dir
was" gibt.
Entweder Du nimmst die fertigen Lösungen (Dein Link) so wie sie sind
oder Du kniest Dich selber rein.
Zitat-Ende
Also ich bin in einigen Foren unterwegs und dort wird einem durchaus hin
und wieder geholfen.
Und im Prinzip möchte ich ja die fertige Lösung wählen, ich brauche nur
eben mehr Ausgänge. Ich weiss ja nichtmal ob sich was an den ganzen
Bauteilen verändert wenn ich den iC austausche, denn nur ic austauschen
und rest so lassen wird vermutlich nicht funktionieren...
Zitat
In was sollte denn das programm geschrieben sein?
Zitat-Ende
Das ist mir ziemlich egal eigentlich, solange der iC das tut was er
soll. Ich kenne nur aus Schulzeiten Turbopascal noch, sonst hab ich
höchstens mal von sowas wie C++ gehört.
Das Programm könnte ich mir aber wahrscheinlich von einem Freund
programmieren lassen - nur ohne Platine mit Bauteilen gibt es nichts zu
programmieren :)
> Das Programm könnte ich mir aber wahrscheinlich von einem> Freund programmieren lassen -> nur ohne Platine mit Bauteilen gibt es nichts zu programmieren :)
Deine angestrebte Mimik besteht aus 3-4 Funktionsblöcken, wobei ich die
fachgerechte Montage einer wetterfesten Tastatur noch als das
allerkleinste ansehe. Darüber hinaus hast du:
1) Ein Steuerboard
2) Software
3) Ein Leistungsteil
zu 1)
nimm dir einen AVR Butterfly (30 EUR), da hast du "prozessormäßig" alles
fertig und 2*8 Ports zur freien Verfügung.
du brauchst 4 Bit für deine Tastatur-Einleserei und hättest somit 12
Leitungen zur freien Verfügung als Steuerausgänge.
Das aufwändige ist nicht ein Prozessor-Board zusammen zu brutzeln. Da
kannst du solch ein Teil wie das Buterfly nehmen.
Überlege bevor du loslegst folgende Themenbereiche:
zu 2) SOFTWARE
geh erst mal von der Annahme aus, da es dir gelingen wird, eine passende
Hardware zusammen zu basteln oder in Betrieb zu nehmen. Dann hast du
also irgendeine Tastatur da dran, welche Zeilen- und spaltenweise
ansteuerbar ist, und dann an den Kreuzugspunkten abgefragt werden kann.
Daraus mußt du dann einen möglich gültigen "pincode" herleiten, z.B.
:: darf zwischen 2 Tastendrücken max 1 Sekunde Zeit bleiben,
:: wenn 3 mal ein falscher Pin eingegeben wurde muß eine "Super-Pin"
eingegeben werden, sonst blockiert dei Eingabe für 5 Minuten
:: ein richtiger Pin und eine daraus resultierende Folgehandlung muß ja
erstmal dem System bekannt gemacht werden
:: Die mögliche Folgeaktionen müssen überlegt werden (z.B. ein
Impulssignal von 5 Sekunden um einen Türdrücker zu betätigen, oder ein 1
Sekunden Impuls um ein Stromstoßrelais anzusteuern
:: Werden auch Rückmeldungen benötigt? Wenn ein Stromstoßrelais eine
Lampe ein und aus schaltet, woher weißt du welcher Zustand die Lampe
grade hat wenn sie auch noch manuell geschaltet werden kann
etc. Also tausend Dinge, welche erst mal gar nichts mit einer
Programmiersprache oder irgendeiner realen Portadrese / Bit xy zu tun
haben. Der angeschlossene Leistungsteil braucht erst mal gar nicht
vorhanden zu sein, sondern zur Kontrolle würden schon LED ausreichen.
Entweder du oder dein Freund machen sich Gedanken, was wann wie
passieren muß. (Eingabe, Verarbeitung, Ausgabe). Ein derartiger
Algorithmus für ein Gesamtsystem ist erst einmal
programmiersprachen-neutral.
Übung: Nimm eine einfache Alltagshandlung (z.B. das Schälen von 3
Apfelsinen) und versuche das ganze algorithmisch zu beschreiben. Wenn
dir das ihn deine Muttersprache gelungen ist, dann übersetze den Vorgang
in eine andere Sprache (z.B. englisch, oder Pascal, oder C oder
klingonisch)
Fazit: Ob eine Scheife mit WHILE, REPEAT oder LOOP als Steuerbefehl
schleift ist "wurscht". Ein Interupt als Mikrocontroller-Komponente ist
eine Unterbrechungsanforderung eines regulären Ablaufs, und macht in
allen Prozessoren etwas ähnliches. Wenn du aber nicht weisst unter
welchen Bedingungen Schleife oder Interupt nutzbar sind, dann nutzt dir
auch keine Programmiersprache.
zu 3) HARDWARE (Treiber)
Wie / was möchtest du ansteuern? wenn es dir nur um eine Signalumsetzung
geht (vorne 1 Bit rein mit 5 Volt / 2 mA), hinten 230 Volt raus über
Relais geschaltet) dann kannst du möglicherweise bei Conrad mit
irgendeiner "Relais-Ansteuer-Platine" glücklich werden. Für den
Türsummer mit 12 Volt Klingelspannung ist das ok, für die Ansteuerung
deiner Deckenbeleuchtung (welche schon über 2 Wechselschalter "autonom"
gesteuert wird, und nun noch zusätzlich "per Codeschloss" geschaltet
werden soll, ist dieses wohl nicht mehr verwendbar.
etc. Also tausend Dinge, welche erst mal gar nichts mit einer
Prozessorsteuerung zu tun haben, sondern den "Lesitungsteil"
beschreiben. Die Prozessorsteuerung könnte zur Not mit einem
"Mäuseklavier" (Mini-DIP-Schalter) emuliert werden , und brauch bis zum
fertigen Aufbau des Lestungsteils gar nicht vorhanden zu sein.
O. Schmidt wrote:
> Also ich bin in einigen Foren unterwegs und dort wird einem durchaus hin> und wieder geholfen.
Aber bestimmt nicht nach der Methode: "Ich will das und das, macht ihr
mir das mal".
Und da hier im Forum doch ne Menge los ist, wird hier bestimmt auch sehr
vielen geholfen.
Peter
Du willst also einen Computer "unbedienbar" machen, indem Du einige
seiner Funktionen per kryptische Codes an einer 3x4-Tastatur steuerst.
Über den Sinn dieses Vorhaben lässt sich streiten, mir fehlt dazu aber
die Lust.
Wenn ich (preiswert) mehrere Schaltvorgänge nach Codeschloss-Art über
3x4-Tastatur (in trockenen Räumen) auslösen müsste, dann fiele mir
Folgendes ein:
Hardware:
- Mega8 mit internem RC-Oszillator 1MHz.
- Tastatur 3x4 Tasten Bestellnummer 420403 von Pollin, dazu ein paar
Widerstände (1k und 10k) zum Anschluss an den ADC des Mega8, belegt
somit nur einen einzigen Pin des Mega8.
- Drei ULN2003 als Schaltverstärker für diverse Relais.
Somit steht ein Modul mit einer Tastatur 3x4 Tasten und 21 Ausgängen zur
Verfügung, das man frei programmieren kann. Will man die restlichen 5
Analog-Eingänge für irgendwelche Messungen freihalten, so setzt man
statt der drei ULN2003 zwei ULN2803 ein und hat 16 Ausgänge und 5
Analog-Eingänge (neben der Tastatur).
Software:
Ich würde das Programm in AVR-Assembler schreiben. Nicht dass Assembler
das einzig Wahre wäre, aber in ASM kenne ich mich (halbwegs) aus, andere
Sprachen müsste ich erst lernen, das Lernen von Sprachen fällt mir
allerdings schwer. Also bleibt es bei ASM.
Aber egal welche Sprache, ohne genaue Beschreibung (in Deutschen Worten
und Sätzen, und ggf. Listen, Tabellen, Grafiken) der Aufgaben braucht
man nicht mit dem Programmieren zu beginnen.
Das Programm würde halbwegs modular aufgebaut sein, denn einige Module
sind bereits in anderen Projekten realisiert und können (geringfügig
angepasst) übernommen werden. Die Tastenabfrage (mit Entprellung) dieser
Tastatur gibt es bereits in einem Projekt mit Mega32, die Auswertung von
Zahlen-Codes in einem per Funk und DTMF ferngesteuerten AV-Umschalter
für eine Amateurfunk-TV-Umsetzerstation. Eine Liste mit Codes und
zugehörigen Aktionen wäre dann noch zu programmieren, die Aktionen
natürlich auch.
Wie gesagt, wenn ich es bräuchte, hätte ich ein (erweiterbares) Konzept.
Aber ich brauche es nicht und werde daher jetzt erstmal nicht weiter
darüber nachdenken.
...
> Zur Steuerung eines Computers inklusive elektrischer Komponenten ....> Bsp.:> Code - Funktion> _1234 - Power> _4321 - Reset> _4364 - Beleuchtung 1> _6532 - Lüfter 1> usw...
ah ja, das mit der Steuerung (Unbedienbar-Machung) eines Computers habe
ich glatt überlesen.
Dann ist natürlich das mit dem Leistungsteil hinfällig. Hannes Vorschlag
klingt schon ganz gut.
Mir erschließt sich aber nicht, warum man einen Lüfter ausschalten
möchte.
Willst du eine CPU-Grillstation bauen?
Und welche Beleuchtung hast du am Computer? Etwa solche
"Käse-Modding-Lampen", welche man sich in das Gehäuse reinschraubt, und
die dann die Speicherriegel beleuchten?
:)
erstmal zu peda:
Wegstabenverbuchsler, hannes und christian zeigen doch, das es nicht
schwer es ein wenig weiterzuhelfen, denn ich bin nun eine ecke schlauer.
an die drei ein großes danke :)
das mit dem lüfter war jetzt auch nur ein beispiel, beleuchtung
geschieht komplett und ausschliesslich über led-kompositionen.
hannes du hast schonmal einen punkt sehr schön angesprochen:
welchen ic du nehmen würdest und wie man dort anschlüsse verwalten kann
:)
was glaube ich von mir aus schlecht beschrieben wurde:
es geht mir weniger um das programmieren, als vielmehr um die schaltung
mit den bauteilen. wenn ich jetzt im falschen forum bin tut mir das
natürlich leid, mein hauptproblem ist jedoch vor allem das ich die
richtigen komponenten bestelle :)
konkret: in die schaltung
(http://www.mcselec.com/index.php?option=com_content&task=view&id=160&Itemid=57)
kann ich wohl kaum den mega8 einsetzen statt dem attiny und den rest so
lassen...oder?
Hallo,
Warum übernimmst Du nicht die Schaltung mit dem 2313. Wenn Du kein LCD
benötigst lass es einfach weg. Wegen der benötigten Ausgänge nimmst du
dann zusätzlich ein Schieberegister welches Du an jeden x-beliebigen
noch freien Port anschliessen kannst ( zB den 74HC595 ) und somit die
Ausgangspins pro SR um jeweils 8 Erweitern kannst. Wenn Du 100 Ausgänge
brauchst, geht das auch. Theoretisch kannst Du so viele Sachen Schalten
wie Du willst, auch mit dem kleinen Controller. Der Umfang des
Programmes ist nur durch den 2KB Flash Speicher begrenzt, aber für ein
simples code Schloss mehr als ausreichend.
O. Schmidt wrote:
> erstmal zu peda:> Wegstabenverbuchsler, hannes und christian zeigen doch, das es nicht> schwer es ein wenig weiterzuhelfen, denn ich bin nun eine ecke schlauer.
Dann habe ich wohl etwas mistverstanden, ich hatte den Eindruck, daß
selber programmieren für Dich keine Option ist.
Wenn Du es aber doch machen willst, ist das Problem ja vom Tisch.
> was glaube ich von mir aus schlecht beschrieben wurde:> es geht mir weniger um das programmieren, als vielmehr um die schaltung> mit den bauteilen. wenn ich jetzt im falschen forum bin tut mir das> natürlich leid, mein hauptproblem ist jedoch vor allem das ich die> richtigen komponenten bestelle :)
Du mußt erstmal feststellen, was Du schalten willst, also max Strom und
Spannung im Lastkreis.
Am einfachsten sind Optokoppler (TTL 5V), MOS-Relais (12..24V=) oder
Halbleiterrelais (230V~).
Peter
O. Schmidt wrote:
> :)>> erstmal zu peda:> Wegstabenverbuchsler, hannes und christian zeigen doch, das es nicht> schwer es ein wenig weiterzuhelfen, denn ich bin nun eine ecke schlauer.
Wenn Du PeDa in die Ecke des Nichthelfenden stellst, dann tust Du ihm
Unrecht. Ohne PeDa seine Beiträge in diesem Forum wären viele
AVR-Freunde (auch ich) noch lange nicht da, wo sie heute sind.
>> an die drei ein großes danke :)>> das mit dem lüfter war jetzt auch nur ein beispiel, beleuchtung> geschieht komplett und ausschliesslich über led-kompositionen.>> hannes du hast schonmal einen punkt sehr schön angesprochen:> welchen ic du nehmen würdest und wie man dort anschlüsse verwalten kann> :)
Ja sicher, den würde ich nehmen, was nicht heißt, dass das optimal ist.
Es gibt sicher Leute, die da lieber einen Mega2560 einsetzen würden,
oder zumindest einen Mega644, wenn es DIL sein muss.
>> was glaube ich von mir aus schlecht beschrieben wurde:> es geht mir weniger um das programmieren, als vielmehr um die schaltung> mit den bauteilen.
Das ist ja nun der einfachste Teil der Aufgabe. Ein AVR (Mega8) braucht
zum Arbeiten eine saubere (durch Kerko 100nF abgeblockte)
Betriebsspannung, eine PullUp-Widerstand am Reset-Pin und ein Programm.
Da er nicht zum Selbstzweck arbeitet, braucht er noch einige Dinge an
seinen I/O-Piuns, die je nach Aufgabe sehr unterschiedlich sein können.
Wer die Grundlagen der digitalen Schaltungstechnik halbwegs kennt, hat
keinerlei Probleme, die Schaltung aufzubauen. Informationsquellen sind
die Datenblätter der verwendeten ICs und evtl. ein paar Projekte anderer
Leute, an denen man sehen kann, worauf es ankommt.
> wenn ich jetzt im falschen forum bin tut mir das> natürlich leid, mein hauptproblem ist jedoch vor allem das ich die> richtigen komponenten bestelle :)
Du bist schon im richtigen Forum. Nur Deine Vorgehensweise erweckt den
Anschein, dass Du andere Leute für Dich arbeiten lassen willst, anstatt
etwas zu recherchieren und Deine eigenen Schlüsse zu ziehen. Wenn Du
allerdings hoffst, hier zum Nulltarif Dienstleistungen erschleichen zu
können, dann bist Du vermutlich doch im falschen Forum. Das ist übrigens
das, was Dir PeDa mitteilen wollte (wobei er meine volle Unterstützung
hat).
>> konkret: in die schaltung> (http://www.mcselec.com/index.php?option=com_content&task=view&id=160&Itemid=57)> kann ich wohl kaum den mega8 einsetzen statt dem attiny und den rest so> lassen...oder?
Ich folge nicht unbekümmert jedem empfohlenen Link. Dieser Link riecht
nach BASCOM (mcselec), das ist nicht meine Welt, das muss ich nicht
haben.
Tu doch nicht so, als wäre eine "Schaltung" etwas "Geheimnisvolles"*.
Jede Schaltung besteht aus Komponenten, die man je nach Verwendungszweck
etwas variieren kann. In den Datenblättern der Schaltkreise und in
Beispielprojekten anderer Leute findest Du Hinweise, worauf es ankommt.
So sollte man dem AVR an jedem Power-Anschluss einen Keramik-Kondensator
100nF zum Abblocken der Versorgungsspannung spendieren (der Mega8 hat
zwei Versorgungsspannungsanschlüsse). Dazu kommt ein Widerstand von 10k
zwischen Reset und Vcc. Ein Abblock-Kondensator für AREF ist auch ganz
vorteilhaft. Das Wichtigste ist aber, dass man nicht irgendwelche
fremden Schaltungen einfach unverstanden nachbaut, sondern dass man von
jedem verwendeten Bauteil genau weiß, wozu es dient. Wenn Du noch nicht
soweit bist, dann solltest Du kleiner anfangen und Dir in kleinen
Schritten das erforderliche Grundwissen erarbeiten.
...
* Die beste Schaltung kann durch schlechtes Platinendesign unbrauchbar
gemacht werden, ohne entsprechendes Grundwissen ist das sogar sehr
wahrscheinlich...
hi, danke für die antworten...
um es kurz zu halten:
"Das Wichtigste ist aber, dass man nicht irgendwelche
fremden Schaltungen einfach unverstanden nachbaut, sondern dass man von
jedem verwendeten Bauteil genau weiß, wozu es dient."
genau das ist der punkt. um eine solche schaltung zu verstehen braucht
es einfach lange, wenn man kein grundwissen hat (wie ich).
ich hatte gehofft, das ganze eben ohne das verständniss zu meistern -
aber ich merk schon, vllt war ich da dann doch zu optimistisch.
ich muss mir das ganze nochmal durch den kopf gehen und wenn ich
konkrete fragen haben sollte dann komm ich einfach wieder :)
ansonsten wünsche ich euch allen ein frohes fest sowie frohe festtage
allgemein :)