PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Das möchte ich auch mal können!



2512708
01.04.2007, 15:48
Hi,

bitte nicht gleich motzen, weil es in meinem ersten Thread um ein "nicht so einfach zu realisierendes Projekt" geht (für mich jedenfalls).

Ich lese schon seit einigen Wochen im Forum, hab auch schon ein bischen was ausprobiert mit den ATTinys 13 und 24. Aber eben nur so Einsteigersachen, wie LED an/aus, kleine Lauflichter, etwas Hardware-PWM usw.

Jetzt hab ich das hier bei Ebay gefunden:

http://cgi.ebay.de/Knight-Rider-Led-Lauflicht-Ultrahell-Knightrider-SMD_W0QQitemZ130094285914QQcategoryZ72686QQssPageN ameZWDVWQQrdZ1QQcmdZViewItem

Ich dachte mir, wow, das will ich auch können. Am besten noch ein Taster dazu, mit dem man die Helligkeit einstellen kann. Dann die ganzen Ausgänge an ordentliche Transistoren oder MOSFETs und die Zimmerdecke vollgehängt.

Natürlich wird mir der Verkäufer wohl kaum den Sourcecode geben. Auslesen ist ja auch nicht drin, also muss ich wohl selber ran (macht auch mehr Spass, sollte es funktionieren...).

Ist das mit BASCOM überhaupt zu realisieren? Auf Assembler habe ich eigentlich keinen Bock.

Hanni
01.04.2007, 15:54
Also das Problem das ich bei Bascom sehe ist das es meiner Ansicht nach recht problematisch sein dürfte mehrere Software PWM' s (in dem Fall 16 an der Zahl) zu realisieren.
Selbst in Assembler kann dieses eine recht knifflige Angelegenheit werden.

Grüße,
Hanni

robocat
01.04.2007, 16:11
wenn nur eine helligkeitregelung (für alle leds) gewünscht ist, könnte eigentlich ein PWM-signal an einem transistor, der mit allen leds verbunden ist (collector) mit emitter an ground, ausreichen.. oder? die leds werden dann im programm über die ports angesteuert.

Robo-Hero
01.04.2007, 16:35
Es wäre vielleicht einfacher das PAM Signal zu nutzen, an jedem Ausgang. Hierbei wäre es dann auch möglich jede LED nach bedarf der Helligkeit anzusteuern. Ich weis allerdings (noch) nicht, ob das mit den ATinys möglich ist. Ich selbst hatte bisher ein ganzes LED Feld (besteht aus 96 LEDs) angesteuert, jedoch ohne Helligkeitssteuerung, da ich noch weitere ICs hintergeschaltet hatte.
Also statt nur ein EIN und AUS Signal an jedem Port, einfach ein PAM Signal verwenden und den Gewünschten Wert für die Spannung eingeben(Für die Helligkeit).
Welchen Microcontroller hast du noch zur Verfügung?

2512708
01.04.2007, 19:50
@robocat:

also die Idee mit dem gemeinsamen PVM-Signal über nen Transistor ist mal richtig gut. Das würde reichen. Jede einzeln zu dimmen ist ja ein Mörder Aufwand. Allerdings könnte man dann auch sanfte Übergänge schaffen...hmmm. Naja eins nach dem andern.

Hatte vor das ganze mit Mega8 zu realisieren

T.J.
02.04.2007, 06:27
Wenn ich das richtig sehe, ist da ja auch ein AT8 drauf. Sollte problemlos gehen.

Dnerb
02.04.2007, 12:29
Thomas hats schon bemerkt. EIn Atmega8 ist drauf. Und das Platinenlayout kann man auch gleich abkupfern, super Service vom Anbieter. :-)

Das ganze sollte wirklich kein Problem darstellen.

Ein PWM reicht dafür aus. Wenn man allerdings alle LEDs getrennt regeln will...

Gruß Dnerb

2512708
02.04.2007, 19:23
Ich hab mal in diversen Datenblättern gewühlt.
Also da gäbe es von Atmel richtig fette Controller mit bis zu 16 !! Hardware-PVM fähigen Ports. Aber das ist ja dann mit Kanonen auf Spatzen geschossen.

Obwohl, wenn schon, denn schon. Am besten gleich noch mit LCD zur Statusanzeige von Programm, Geschwindigkeit, Helligkeit....
Mann, da könnte man sich ja richtig austoben.

Ich sollte aber vorerst mal kucken wie ich die einzelnen Programme anwähle und deren Geschwindigkeit in mehreren Stufen einstellbar mache.
Ich dachte dass ich dazu Taster an die INT0 und INT1 anstöpsle und somit externe Interrupts auslöse, welche dann bei jeder Betätigung ein Programm, oder eine Geschwindigkeitsstufe hochschalten. Ist das ratsam es so zu machen? Oder doch lieber a´la "IF Taster1 then GOTO Programm1" ?

Für die einzelnen Programme hab ich mir folgendes vorgestellt:

Do
Restore Programm1 'Zeiger auf Beginn der Daten setzen
For I = 1 To 8 'Programm1 läuft durch
Read A 'Setze Port
Portb = A
Waitms 500
Next I
Loop

End
Programm1:
Data 1 , 2 , 4 , 8 , 16 , 32 , 64 , 0, 'Ausgänge 1234567 hintereinander

Das hab ich irgendwo im Web entdeckt und hat mir wegen der einfachen Bedienung gut gefallen.

Was meint Ihr dazu?

Dnerb
02.04.2007, 20:02
Hallo 2512708,

grundsätzlich gibt es immer mehrere wege zum Ziel.

Soll der Controller nur die LEDs blinken lassen oder nebenher noch das Badewasser einlassen und Schnitzel braten?

Wenn er nur die LEDs bedient, dann kannst Du ja erst mal die alte Abfragenummer durchmachen.

Nur so als Idee könntest Du ja später noch eine RS232 einbauen und die Anweisungen nicht mehr mit Tasten sondern per PC geben. Oder mit einer RC5 Fernbedienung etc...

Mein Tipp für alle die es sich selber beibringen wollen/müssen/mächten: wenn kein konkretes Projekt ansteht und man einfach nur sehen will ob man es hinbekommt, dann ruhig mehrere Wege ausprobieren.

Du kannst dabei nur gewinnen.

Gruß Dnerb