Willkommen Gast. Bitte einloggen oder registrieren.
März 15, 2025, 19:56:00
Übersicht Ungelesene Beiträge auflisten Hilfe Suche Spiele Mitgliederkarte Kalender Login Registrieren

Schnellsuche
+  MODDING-FAQ FORUM
|-+  Alles rund ums Modden
| |-+  Elektronik, Elektrik (Moderator: TzA)
| | |-+  Taster als Schalter via AVR
  « vorheriges nächstes »
0 Mitglieder und 0 Gäste betrachten dieses Thema.
Seiten: 1 ... 9 10 11 12 13 [14] 15 16 17 nach unten Drucken
Autor Thema: Taster als Schalter via AVR  (Gelesen 152111 mal)
Reisi
Lötkolbenfreak

*

Karma: +2/-0
Offline Offline
Beiträge: 190



Profil anzeigen
Re: Taster als Schalter via AVR
« Antwort #195 am: November 29, 2007, 09:23:32 »


Aber gerade das ist doch der Sinn einer Warteschleife oder? Also zumindest brauchte ich jetzte eine Möglichkeit den Ablauf des Hauptprogramms zu verzögern. Und dies habe ich nun so realisiert.
Die anderen beiden Interrupts(UART Empfang und timer0 Overflow) habe ich ja so "Vorteilhaft" benutzt.
Nein, die Warteschleife soll nur dafür sorgen, dass die Prellende Taste nicht ausgelesen wird. Bei komplexeren Programmen befindet sich in der Main Schleife noch deutlich mehr Code, welcher bei dieser Methode eben auch unnötigerweise ausgebremst wird.

Diese zusätzlichen Zähler in den Timer Interrupts habe ich weil der Zahlenraum des normalen Timers nicht ausreicht bzw. alleine nicht genug Zeit verbrauchte. Ich habe den 16 Bit nun im CTC Modus so eingestellt das er bei 40000 einen Interrupt auslöst. Ich bräuchte aber eigentlich einen Timer der bei einem Stand von 100000 einen Interrupt auslöst. Da ich aber maximal etwas von 69000 einstellen kann muss ich das ganze mit einem zweiten Zaehler realisieren. Timer und Zaehler können dann zusammen bei einem Wert von 100000 Taktzyklen einen "Interrupt" auslösen.(40000*25=100000)
Ich hoffe ich habe das einigermaßen verständlich beschrieben Tongue
Schon mal was von den Prescalern gehört (oder besser gelesen)?

EDIT:
So ich habe gerade eben noch ein gimik hinzugefügt. Der Letzte Stand der LED's wird nun im EEPROM abgespeichert. Das heist auch anch einem NEu Start des µC's ist der aktuelle Stand noch da.
WWie oft machst du das? Der EEPROM hat nur ca. 100000 Schreibzyklen.
Gespeichert
Fabeulous
Gast


E-Mail
Re: Taster als Schalter via AVR
« Antwort #196 am: November 29, 2007, 16:20:29 »


Aber gerade das ist doch der Sinn einer Warteschleife oder? Also zumindest brauchte ich jetzte eine Möglichkeit den Ablauf des Hauptprogramms zu verzögern. Und dies habe ich nun so realisiert.
Die anderen beiden Interrupts(UART Empfang und timer0 Overflow) habe ich ja so "Vorteilhaft" benutzt.
Nein, die Warteschleife soll nur dafür sorgen, dass die Prellende Taste nicht ausgelesen wird. Bei komplexeren Programmen befindet sich in der Main Schleife noch deutlich mehr Code, welcher bei dieser Methode eben auch unnötigerweise ausgebremst wird.

Aber dadurch das gewartet wird wird doch der prellende Taster nicht ausgelesen?! Tongue

Diese zusätzlichen Zähler in den Timer Interrupts habe ich weil der Zahlenraum des normalen Timers nicht ausreicht bzw. alleine nicht genug Zeit verbrauchte. Ich habe den 16 Bit nun im CTC Modus so eingestellt das er bei 40000 einen Interrupt auslöst. Ich bräuchte aber eigentlich einen Timer der bei einem Stand von 100000 einen Interrupt auslöst. Da ich aber maximal etwas von 69000 einstellen kann muss ich das ganze mit einem zweiten Zaehler realisieren. Timer und Zaehler können dann zusammen bei einem Wert von 100000 Taktzyklen einen "Interrupt" auslösen.(40000*25=100000)
Ich hoffe ich habe das einigermaßen verständlich beschrieben Tongue
Schon mal was von den Prescalern gehört (oder besser gelesen)?
Nein bisher nicht...

EDIT:
So ich habe gerade eben noch ein gimik hinzugefügt. Der Letzte Stand der LED's wird nun im EEPROM abgespeichert. Das heist auch anch einem NEu Start des µC's ist der aktuelle Stand noch da.
WWie oft machst du das? Der EEPROM hat nur ca. 100000 Schreibzyklen.

Ich machae das jedes mal wenn sich der Status der LED's verändert. Sprich wenn ein befehl über UART reinkommt oder eine Taste gedrückt wird.
Gespeichert
PoWl
Dremelfreund

*

Karma: +0/-0
Offline Offline
Beiträge: 140


Atmel AVR Mikrocontroller


Profil anzeigen
Re: Taster als Schalter via AVR
« Antwort #197 am: November 29, 2007, 16:46:41 »

du solltest dich echt  n bissel besser informieren, sonst machst dus dir unnötig schwer. Les mal das datenblatt oder anleitungen im Internet.

Wie lange wir jetzt für eine so relativ einfache Aufgabe schon rummachen ist schon beachtlich. Und meistens postest du irgendwas und korrigierst dich selbst hinterher also du krigst das auch alleine hin du musst dich damit nur beschäftigen :-)

Mit Prescalern kannst du den Oszillatortakt teilen so dass der Timer langsamer läuft ;-) Guck mal im Datenblatt.

gruß, Powl
Gespeichert
Reisi
Lötkolbenfreak

*

Karma: +2/-0
Offline Offline
Beiträge: 190



Profil anzeigen
Re: Taster als Schalter via AVR
« Antwort #198 am: November 29, 2007, 16:57:05 »

Aber dadurch das gewartet wird wird doch der prellende Taster nicht ausgelesen?! Tongue
Ja, das schon, aber dafür "hängt" auch der Rest. OK, ich hab mal deinen Quelltext überflogen, bei dir gibts keinen Rest, so dass das jetzt keinen Unterschied machen würde. Aber ums zu verdeutlichen stell dir einfach mal vor du hättest noch eine aufwändige Berechnung in der Main Schleife, die würde dann bei jeden Tastendruck auch unnötigerweise mit ausgebremst.

Nein bisher nicht...
Faszinierend, wenn deine Kommentare stimmen benutzt du den beim Timer0 aber.
Gespeichert
Fabeulous
Gast


E-Mail
Re: Taster als Schalter via AVR
« Antwort #199 am: November 29, 2007, 18:57:14 »

Ach lol mir wird auch gerade eben erst klar das Prescaler Vorteiler bedeutet... Sorry dann kenne ich es doch

EDIT:
So das erste Programm zur ansteuerung läuft. Ich werde es noch mit ein paar Gimiks ausstatten und dann stell ich es hier mal rein! Tongue
« Letzte Änderung: Dezember 4, 2007, 16:37:27 von Fabeulous » Gespeichert
Fabeulous
Gast


E-Mail
Re: Taster als Schalter via AVR
« Antwort #200 am: Dezember 16, 2007, 19:39:12 »

So ich hab das Programm quasi bis auf ein paar Luxusfunktionen fertig. Gibt es leute die das mal testen würden? Wenn ja dann würde ich es ohne die Funktionen schonmal online stellen. Wenn nicht dann mach ich es erst ganz fertig!
Gespeichert
Stukaa
Wakü-Poseidon

*

Karma: +2/-0
Offline Offline
Geschlecht: Männlich
Beiträge: 414


+_ö


Profil anzeigen
Re: Taster als Schalter via AVR
« Antwort #201 am: Dezember 16, 2007, 23:41:08 »

hat du denn nen schaltplan für die benötigte hartware parat?
Gespeichert

digitall  Oo
Caseschrauber15
LED-Tauscher

*

Karma: +0/-0
Offline Offline
Geschlecht: Männlich
Beiträge: 31


gib Kaufmods keine Chance!!! wir helfen !!!


Profil anzeigen WWW
Re: Taster als Schalter via AVR
« Antwort #202 am: Dezember 17, 2007, 00:34:47 »

Wenn du nen Schaltplan hast , dann bewerbe ich mich mal als Tester Wink
Gespeichert
Fabeulous
Gast


E-Mail
Re: Taster als Schalter via AVR
« Antwort #203 am: Dezember 17, 2007, 10:19:07 »

Ja hier ist der vorläufige Schaltplan
http://fabeulousde.h198298.ser...Schaltplan3.png

Vorläufig weil: Ich habe einen Taster eingang anstatt auf SCK auf PD5 gelegt. Wenn ich gleich Zeit habe dann mache ich eben einen neuen Schaltplan.
Dann werde ich mich mit der Software mal beeilen! Tongue
Gespeichert
Fabeulous
Gast


E-Mail
Re: Taster als Schalter via AVR
« Antwort #204 am: Dezember 20, 2007, 19:44:54 »

Ach so ich schrieb mal eben auf was meine Software bisher alles kann und was sie noch können soll.

Sie kann:
-natürlich die einzelnen Verbraucher ein und ausschalten

-alle Verbraucher ausschalten

-alle verbraucher einschalten

-für die oben genannten Funktionen lassen sich globale Hotkeys definieren(finde ich besonders wenn man eine G15 Tastatu hat sehr praktisch da man dann quasi auf tastendruck die sachen betätigen kann)

-Automatisch erkennen ob ein AVR angeschlossen ist und kommuniziert

-automatisch erkennen ob eine andere Anwendung im vollbildmodus läuft und darauf reagieren(z.b. wird alles ausgeschaltet wenn ihr euch einen Kinofilm in Vollbild reinzieht. Optional wird nach dem verlassen des vollbildmoduses der alte Zustand wiederhergestellt)

-bei einer Aktion per Balon Tip darauf hinweisen was gerade passiert ist(z.b. Ihr schaltet Verbraucher 1 aus und im Balon Tip steht "Verbraucher 1 ausgeschaltet"

-den einzelnen Verbrauchern lassen sich auch Namen zuweisen(Somit würde in einem eventuellem Balon Tip z.b. "Lampe ausgeschaltet" stehen)

-minimiert gestartet werden

-mittels autostart gestartet werden

-ein TrayIcon ist auch vorhanden(kann deaktiviert werden)

-natürlich lassen sich Com Port, Baudrate, Stopbits, Datenbits und die Parität einstellen. Wobei ich noch überprüfen muss ob das alles so sinnvoll ist! Cheesy

Funktionen welche ich gerade noch entwickle:
-Einstellbar auf "Bit" und "Byte" Modus. Im Bit Modus kann man 8 Relais steuern. Im Byte Modus 255

-Eigene Profile definieren. z.b. wenn anwendung XY startet schalten sich 3 Verbraucher ein und 4 aus(beliebig einstellbar)

-Ein Status Monitor welches als andockbares Fenster ständig im Vordergrund steht und über den aktuellen Schaltstatus der Verbraucher informiert. Außerdem sollen sich die Verbraucher darüber auch schalten lassen

-Eine Steuerung mittels Netzwerk. Das heist ihr könnt von einem anderen PC die Verbraucher steuern

-Ãœbermittlung des aktuellen Statuses per POST oder GET an CGI/PHP Scripts

-Automatische Updates

-Logging funktion


So das war es erstmal. Ich hoffe da sind ein paar nützliche funktionen dabei und das sich aufgrund dessen vlt. noch ein paar mehr tester melden?!
Habt ihr noch vorschläge was man noch so für Funktionen einbauen sollte?
Ich werde für den ganzen Hardwareteil jetzt auch mal eine Schaltplan zum ätzen anfertigen und mir dann mal einen "Prototyp" mittels Ebay-Händler ätzen lassen.
Kann mir irgendwer einen guten "Ätz-Service" empfehlen?
Vielen dank im vorraus!
Gespeichert
raDon
Dremelfreund

*

Karma: +1/-0
Offline Offline
Geschlecht: Männlich
Beiträge: 109



Profil anzeigen WWW
Re: Taster als Schalter via AVR
« Antwort #205 am: Januar 5, 2008, 02:14:35 »

Das Projekt wird seeeeeeehr interessant.

würde das auch gerne mal testen wollen.

BTW: Verrätst du (grob) wie dein Programm auf die Serielle Schnittstelle zugreift?
weil: Ich hab mir eine (Zimmer) Licht Steuerung gebaut, und die wollte ich über den RS 232 konfigurieren können. Bisher muss ich änderungen im ASM Code vornehmen und neu brennen.

Und: Wenn der Mega8 weiter auf 8 Mhz läuft, kannst du doch den internen Takt verwenden (der sich bis 8 Mhz einstellen lässt).
Gespeichert
Fabeulous
Gast


E-Mail
Re: Taster als Schalter via AVR
« Antwort #206 am: Januar 5, 2008, 13:46:28 »

Also auf die serielle Schnittstelle habe ich erst mit hilfe einer port.dll zugegriffen. Diese kann man im INternet umsonst runterladen und man stößt zeimlich schnell auf sie wenn man danach googelt.
Mittlerweile bin ich aber auf die cport Bibliothek umgestiegen da sie ein paar zusätzliche Funktionen hat, meiner Meinung nach flüssiger läuft und ich komme so natürlich auch ohne dll's aus.

Die Funktionsweise der eigentlichen kommunikation ist im Bit Modus(ein Byte Modus ist auch noch geplant und die unterscheide stehen weiter oben) recht einfach.

Der µC sendet in einer endloschleife ein byte an den PC. Dieses Byte bzw. die einzelnen zustände der bits dieses bytes stehen für die jeweiligen Zustände der verbraucher. z.b.:
Wir haben 8 Verbraucher davon sind die zwei ersten und die zwei letzten "eingeschaltet" dann sendet der µC ein byte mit dem binären wert 11000011 an den PC.

Das schalten der einzelnen Verbraucher läuft ähnlich. Man sendet ein byte. Das erste Bit dieses byte's ist True also wird der erste Verbraucher geschaltet. Also immer da wo ein bit in dem gesendeten byte true ist wird der zustand des jeweiligen verbrauchers umgeschaltet.

Programmieren lässt sich das recht einfach. Zumindest nachdem man diverse Funktionen zum umformen von binär zu dezimal zahlen und so weiter und sofort geschrieben hat Cheesy

Das mit dem internen Takt würde vermutlich auch funktionieren. Nur ist der interne Quarzoszilator temperaturabhängig. Und da ich will das die Schaltung auch im Sommer noch funktioniert mache ich es lieber mit einem externem Quarz!

Was soll deine Zimmer Licht steuerung denn genau machen? Einfach nur ne größere Relaiskarte?

Kann ich dich quasi auch als potentiellen Tester meines Programms einplanen? Cheesy
« Letzte Änderung: Januar 5, 2008, 13:51:05 von Fabeulous » Gespeichert
OlafSt
Global Moderator

*

Karma: +13/-0
Offline Offline
Geschlecht: Männlich
Beiträge: 2138


Master of STLCD and LISA III


Profil anzeigen
Re: Taster als Schalter via AVR
« Antwort #207 am: Januar 5, 2008, 18:57:23 »

Seid ihr sicher, das ihr von einer seriellen Schnittstelle redet ? Für die sind solche Häßlichkeiten wie Port-DLL's nämlich absolut unnötig...
Gespeichert

Erstens: Lies was da steht. Zweitens: Denk drüber nach. Drittens: Dann erst fragen
Fabeulous
Gast


E-Mail
Re: Taster als Schalter via AVR
« Antwort #208 am: Januar 6, 2008, 14:18:24 »

Ja ich bin mir sicher das ich von der seriellen Schnittstelle rede Tongue Und ich verwende die port.dll ja auch nicht mehr. ich war nur anfänger in sachen serielle schnittstelle und deswegen bin ich erst später auf die meiner Meinung nach bessere cport Lib umgestiegen...
Gespeichert
raDon
Dremelfreund

*

Karma: +1/-0
Offline Offline
Geschlecht: Männlich
Beiträge: 109



Profil anzeigen WWW
Re: Taster als Schalter via AVR
« Antwort #209 am: Januar 7, 2008, 22:11:42 »

Ja, kannst mich als Potentiellen Tester mit einplanen  Smiley

Achso, wegen der blöden temperatur der externe quarz. idee

Die Zimmerlichtsteuerung ist eine kleine Lichtsteuerung, die PC unabhängig arbeitet.
Ich hab da einen 4 Bit codierten eingang für taster und 8 parallele ausgänge, die 8 Power MosFETs ansteuern, womit ich entweder Relais für 230V Verbraucher oder LED's bzw CCs direkt schalten kann. Zusätzlich hab ich in der Steuerung eine IR-Empfänger Schaltung verbaut, die RC5 Codes in Schaltsignale umwandelt. Die ist ebenfalls an den 4-Bit-Codierten eingang angeschlossen.
Schalten kann ich dann die einzelnen Verbraucher oder auch "Beleuchtungsprogramme" für z.B. Filme gucken.

Und danke für die hinweise mit der Port ansteuerung  bestens
Gespeichert
Seiten: 1 ... 9 10 11 12 13 [14] 15 16 17 nach oben Drucken 
« vorheriges nächstes »
Gehe zu:  

Einloggen mit Benutzername, Passwort und Sitzungslänge      

Powered by MySQL Powered by PHP
eXTReMe Tracker
Seite erstellt in 0.05 Sekunden mit 20 Zugriffen.
© 2001-2022 MODDING-FAQ FORUM | SMF
Alle Rechte vorbehalten.
Prüfe XHTML 1.0! Prüfe CSS!