- Akku Tests und Balkonkraftwerk Speicher         
Seite 6 von 8 ErsteErste ... 45678 LetzteLetzte
Ergebnis 51 bis 60 von 79

Thema: SMD RGB LED´s mit PWM; ATmega168 / Probleme mit dem EEprom

  1. #51
    Erfahrener Benutzer Robotik Einstein Avatar von Klingon77
    Registriert seit
    26.09.2006
    Ort
    Hunsrück
    Alter
    63
    Beiträge
    2.543
    Anzeige

    LiFePo4 Akku selber bauen - Video
    hi,

    mal Dank für die Blumen; da gibt es sicherlich treffendere und einfachere Aussagen für´s Wiki als mein "Geschreibsel".

    Nun denke ich, daß ich dank eurer Hilfe einen groben Überblick bezüglich PWM und Verbraucher erhalten habe.
    Zumindest scheue ich mich nun nicht mehr vor einer praktischen Anwendung und fühle mich ein gutes Stück sicherer.
    Der Artikel im Wiki ist recht informativ.
    Die Berechnung ist leicht verständlich dargestellt.

    Die Freilaufdiode für induktive Lasten hätte ich nun doch nochmal vergessen.
    Und das obwohl ich seit jeher zu jedem Relais, welches ich früher mal "verbastelt" habe automatisch eine solche eingeplant hatte...
    Motoren oder Spulen im allgemeinen sind ja nichts anderes...



    liebe Grüße,

    Klingon77
    Der kürzeste Weg zwischen zwei Menschen ist ein Lächeln - http://www.ad-kunst.de

  2. #52
    Erfahrener Benutzer Robotik Einstein Avatar von Klingon77
    Registriert seit
    26.09.2006
    Ort
    Hunsrück
    Alter
    63
    Beiträge
    2.543
    hi,

    LCD Display gekauft und Probleme...

    War nicht anders zu erwarten...


    Vor ca. 15 Jahren habe ich schon mal eines im 8-Bit Modus angesteuert.
    Das hat gut funktioniert.

    Nun habe ich mir ein 4*20 Display von Reichelt gekauft:

    file:///E:/DMC/Makrolon-Stirnseitenbeleuchtung/Bauteile/LCD%20Modul%20-%20LCD%20204B%20BL%20%20LCD%20Dot-Matrix-Modul%204x20%20Zeichen,%20blau/LCD%20204B%20BL%20Dot-Matrix-Modul.htm

    * LED Hintergrund angeschlossen; funktioniert.
    * Spannung und Poti für den Kontrast; einwandfrei
    * Restliche Leitungen wie im Datenblatt:

    Nun wollte ich das Teil mit folgendem Programm im 4-Bit Modus initialisieren und ein "A" ausgeben.

    Code:
    $regfile = "m168def.dat"                                    'Compilerdefinition
    $crystal = 16000000                                         'Quarzfrequenz
    
    
    
    'Ports initialisieren:
    Ddrb = &B00000000                                           'PB alle Eingang
    Ddrc = &B00111111                                           'PC 7 & 6 Eingang; 5-0 Ausgang
    'C0=DB4; C1=DB5; C2=DB6; C3=DB7
    'C4=E; C5=RS (0=Initialisieren; 1=Daten)
    Ddrd = &B00000000                                           'PD3, PD5 & PD 6 Ausgang; Rest Eingang
    
    
    
    
    '----------------------------------------------------------------------------------------------------
    
    'LCD
    
    'C0=DB4
    'C1=DB5
    'C2=DB6
    'C3=DB7
    'C4=E  (Daten werden bei fallender Flanke übernommen)
    'C5=RS (0=Initialisieren; 1=Daten schreiben)
    'R/W permanent auf LOW; Zeichen schreiben   -   HIGH = Zeichen vom Display lesen.
    
    
    'LCD initialisieren:
    
    Portc = &B00010010                                          ' 4 Bit Modus
    Waitms 10
    Portc = &B00000010                                          'E auf LOW (PORTC.4)
    Waitms 10
    
    Portc = &B00010010                                          '4Bit Datenlänge; Einzeiliges Display; 5x7 Font   -    HIGH BYTE
    Waitms 10
    Portc = &B00000010                                          'E auf LOW (PORTC.4)
    Waitms 10
    
    Portc = &B00010000                                          ' LOW BYTE
    Waitms 10
    Portc = &B00000000                                          'E auf LOW (PORTC.4)
    Waitms 10
    
    Portc = &B00010000                                          'Display ein; Cursor ein; Cursor blinken   -    HIGH BYTE
    Waitms 10
    Portc = &B00000000                                          'E auf LOW (PORTC.4)
    Waitms 10
    
    Portc = &B00011111                                          ' LOW BYTE
    Waitms 10
    Portc = &B00001111                                          'E auf LOW (PORTC.4)
    Waitms 10
    
    Portc = &B00010000                                          'Display löschen: Cursor auf 1. Spalte von Zeile 1   -    HIGH BYTE
    Waitms 10
    Portc = &B00000000                                          'E auf LOW (PORTC.4)
    Waitms 10
    
    Portc = &B00010001                                          ' LOW BYTE
    Waitms 10
    Portc = &B00000001                                          'E auf LOW (PORTC.4)
    Waitms 10
    
    'Zeichen Uebertragen                                           'Zeichen "A" übertragen (HEX 65)  & RS =1 (Port C5)
    
    Portc = &B00110100                                          ' HIGH BYTE
    Waitms 10
    Portc = &B00100100                                          'E auf LOW (PORTC.4)
    Waitms 10
    
    Portc = &B00110001                                          ' LOW BYTE
    Waitms 10
    Portc = &B00100001                                          'E auf LOW (PORTC.4)
    Waitms 10
    
    
    
    End                                                         'end program

    Die übertriebenen 10ms Pause zwischen den einzelnen Befehlen sind erstmal zur Sicherheit, damit es keine Timingprobleme gibt.

    Ich schreibe zuerst das HIGH-Byte in den Port "C"
    Dabei ist E (PortC.5) = HIGH
    Dann wird das gleiche High-BYTE mit E = LOW nochmal geschrieben.
    Bei fallender Flanke sollten die Daten übernommen werden.

    Das selbe Spiel mit dem LOW-Byte.


    Leider tut sich nichts.
    Das Display funktioniert.
    Bei einem Test gingen bei der Datenübertragung zum AVR die einzelen Matrixfelder der Reihe nach an.


    Was mache ich falsch? Ich denke mal es liegt an der Initialisierung (ist nach dem Datenblatt).


    Code:
    INITIALISIERUNGSBEISPIEL FÜR DEN 4-BIT MODUS
    RS=0; R/W=0
    
    DB7 - DB4
    
    0  0  1  0       4-Bit Datenlänge einschalten (noch im 8-Bit Modus)
    
    
    0  0  1  0       4-Bit Datenlänge, 1-zeiliges Display, 5x7 Font
    0  0  0  0
    
    
    0  0  0  0       Display ein, Cursor ein, Cursor blinken
    1  1  1  1
    
    
    0  0  0  0       Display löschen, Cursor auf 1. Spalte von 1. Zeile
    0  0  0  1
    
    
    0  0  0  0       Cursor Auto-Increment
    0  1  1  0

    Was ich noch versuchte:

    * Eine vertauschte Reihenfolge von HIGH- und LOW-BYTE Übertragung
    * Port C4 (Enable am Display) separat auf LOW zu schalten
    * Port C4 (Enable am Display) mit dem Befehl "Toggle" zweimal umzuschalten

    brachte keinen Erfolg


    Nach der Initialisierung sollte doch der Blinkende Cursor auf POS: 1.1 im Display zusehen sein?

    Der Kontrast war eben so eingestellt, daß ich die 5x7 Quadrate sehen konnte.
    Ein Zeichen/Cursor sollte also auf jeden Fall sichtbar sein.
    Die Hintergrundbeleuchtung war ebenfalls eingeschaltet.


    Nun stehe ich ein wenig auf dem Schlauch; bin erstmal am Ende meines begrenzten "Latein´s"...


    liebe Grüße,

    Klingon77
    Der kürzeste Weg zwischen zwei Menschen ist ein Lächeln - http://www.ad-kunst.de

  3. #53
    Erfahrener Benutzer Robotik Einstein Avatar von Klingon77
    Registriert seit
    26.09.2006
    Ort
    Hunsrück
    Alter
    63
    Beiträge
    2.543
    hi,

    heute war ein guter Tag \/

    12 Stunden Tagdienst ohne Schwerkranke; mit wenig Einsätzen, schönem Wetter und heute Abend dann das LCD-Display an´s laufen gebracht

    Seltsam, daß derartige "Kleinigkeiten" eine scheinbar tiefe Befriedigung vermitteln können...


    Von Anfang an:
    Gestern Abend/Nacht habe ich nochmal hier und in den "Weiten des Netzes" nach Lösungsansätzen gesucht und bin vermeindlich fündig geworden:

    Bild hier  

    Code:
    'LCD konfigurieren
    
     Config Lcd = 20 * 4                                        '4 x 20 Zeichen Display
     ' Im I/O Mode wird jeder Prozessor Pin einzeln angegeben
     Config Lcdpin = Pin , Db4 = Portc.0 , Db5 = Portc.1 , Db6 = Portc.2 , Db7 = Portc.3 , E = Portc.5 , Rs = Portc.4
    
    
     'LCD Ausgabe
    
     Cls                                                        'loesche das LCD Display
     Wait 1
     Locate 1 , 1                                               'Cursor auf 1 Zeile, 1 Spalte
    Lcd "Hallo Roboter-Netz"                                    'String auf Display anzeigen
    
     Locate 2 , 1                                               'Cursor auf 2 Zeile, 1 Spalte
    Lcd "Loesung gefunden :-)"                                  'String auf Display anzeigen
    
     Locate 3 , 1                                               'Cursor auf 3 Zeile, 1 Spalte
    Lcd "Blicke aber noch"                                      'String auf Display anzeigen
    
     Locate 4 , 1                                               'Cursor auf 1 Zeile, 1 Spalte
    Lcd "nicht richtig durch"                                   'String auf Display anzeigen

    Als ich über diese Initialisierung stolperte dachte ich bei mir:
    "Kann es denn so einfach sein?"

    Zu Zeiten meiner CC-Basic mußte ich alles noch "von Hand zu Fuß" schreiben...



    Zusätzlich habe ich nocht im Bascom folgendes geändert/angepasst:

    Bild hier  


    In Kombination mit einer neuen gefrästen "Muster-Plexi-Platte mit Baummotiv" kam dann folgendes heraus:


    Bild hier  


    Der Baum wird nur von einer einzelen RGB-LED von unten angestrahlt.
    Die umlaufenden Kanten sind noch nicht verspiegelt.

    Für interessierte; gefräst habe ich mit:
    * Vorschub 100mm/min
    * Drehzahl ca. 8.000 1/min (mehr ist nicht notwendig bei dem kleinen Vorschub)
    * Zustellung: 0,25mm (zwei Durchgänge a´ 0,23mm und 0,02mm um die Nut schön sauber zu bekommen)
    * 45 Grad spiralverzahnter Stichel (CNC-Eltner)
    * Trocken gefräst (naß ist bei Plexi besser!)

    * Die Scheibe ist 5mm dick.


    Ein kurzes Video habe ich auch für euch hochgeladen.
    Wie versprochen / angedroht mit Bach: "Tokata und Fuge"

    http://www.youtube.com/watch?v=SC4ouaQBkrs




    Code:
    'Hardware PWM Lauflicht und LCD-Display 4x20 by Klingon77 & Roboter NETZ (WIKI)
    '01 Apr  2009
    
    $regfile = "m168def.dat"                                    'Compilerdefinition
    $crystal = 16000000                                         'Quarzfrequenz
    
    '----------------------------------------------------------------------------------------------------
    
    '
    'Ports initialisieren:
    
    Ddrb = &B00000000                                           'PB alle Eingang
    Ddrc = &B00111111                                           'PC 7 & 6 Eingang; 5-0 Ausgang
    'C0=DB4; C1=DB5; C2=DB6; C3=DB7; C4=RS; C5=E (RS: 0=Initialisieren; 1=Daten)
    Ddrd = &B01101000                                           'PD3, PD5 & PD 6 Ausgang; Rest Eingang
    Portd.2 = 1
    Portd.4 = 1
    
    'Timer einstellen(Timer 0 & 2 sind 8-Bit Timer):
    '
    'Timer0 auf PWM stellen
    'Timer0 PWM Ausgabe A(PD 6) & B (PD 5) einstellen
    'Clear Down; LED wird mit höherem Variablenwert heller
    'Vorteiler = 8
    Config Timer0 = Pwm , Compare A Pwm = Clear Up , Compare B Pwm = Clear Up , Prescale = 8
    
    'Timer2 auf PWM stellen
    'Timer2 PWM Ausgabe A(PD 3) einstellen
    'Clear Down; LED wird mit höherem Variablenwert heller
    'Vorteiler = 8
    Config Timer2 = Pwm , Compare B Pwm = Clear Up , Prescale = 8
    
    Enable Timer0                                               'Timer0 starten
    Enable Timer2                                               'Timer2 starten
    
    'PWM Ausgabepins
    Rot Alias Ocr0a                                             'PD 6
    Gruen Alias Ocr0b                                           'PD 5
    Blau Alias Ocr2b                                            'PD 3
    Rot = 0
    Gruen = 0
    Blau = 0
    
    
    
    '----------------------------------------------------------------------------------------------------
    
    'Dimensionierung von Variablen
    
    'allgemeine Schleifenlaufvariable
    Dim Lauf As Byte
    
    'Pausenwert in "mS" während der Farbwechselschleifen (max: 65535 mS)
    Dim Pause As Word
    Dim Disp As Byte                                            'Variable welche an das LCD übergeben wird
    
    Declare Sub Farbwechsel01
    Declare Sub Farbwechsel02
    
    '----------------------------------------------------------------------------------------------------
    
    
    'Programmvorbereitungen
    
    Pause = 10                                                  'Pausenzeit (mS)  im Farbwechsel
    
    '----------------------------------------------------------------------------------------------------
    'Hauptprogramm
    
    Wait 2
    
    'LCD konfigurieren
    
     Config Lcd = 20 * 4                                        '4 x 20 Zeichen Display
     ' Im I/O Mode wird jeder Prozessor Pin einzeln angegeben
     Config Lcdpin = Pin , Db4 = Portc.0 , Db5 = Portc.1 , Db6 = Portc.2 , Db7 = Portc.3 , E = Portc.5 , Rs = Portc.4
    
    
     'LCD Ausgabe
    
     Cls                                                        'loesche das LCD Display
     Wait 1
     Locate 1 , 1                                               'Cursor auf 1 Zeile, 1 Spalte
    Lcd "Hallo Roboter-Netz"                                    'String auf Display anzeigen
    
     Locate 2 , 1                                               'Cursor auf 2 Zeile, 1 Spalte
    Lcd "Loesung gefunden :-)"                                  'String auf Display anzeigen
    
     Locate 3 , 1                                               'Cursor auf 3 Zeile, 1 Spalte
    Lcd "Blicke aber noch"                                      'String auf Display anzeigen
    
     Locate 4 , 1                                               'Cursor auf 1 Zeile, 1 Spalte
    Lcd "nicht richtig durch"                                   'String auf Display anzeigen
    
    
    
    'RBG-LED Baum in Plexi
    
    Wait 1
    Rot = 255
    Waitms 500
    Rot = 0
    Gruen = 255
    Waitms 500
    Gruen = 0
    Blau = 255
    Waitms 500
    Blau = 0
    Wait 1
    
    
    
    Do                                                          'Endlosschleife: Beginn
    
    Farbwechsel01
    
    'Debounce Pind.2 , 0 , Farbwechsel01 , Sub
    Debounce Pind.4 , 0 , Farbwechsel02 , Sub
    
    Loop
    
    '----------------------------------------------------------------------------------------------------
    
    'Unterprogramme
    
    Sub Farbwechsel01
    
    Rot = 255
    Blau = 0
    Gruen = 0
    Wait 2
    For Lauf = 1 To 255
    Rot = 255 - Lauf
    Blau = Lauf
    Waitms Pause
    Next Lauf
    Rot = 0
    
    For Lauf = 1 To 255
    Blau = 255 - Lauf
    Gruen = Lauf
    Waitms Pause
    Next Lauf
    Blau = 0
    
    For Lauf = 1 To 255
    Gruen = 255 - Lauf
    Rot = Lauf
    Waitms Pause
    Next Lauf
    Gruen = 0
    Wait 2
    Rot = 0
    
    End Sub
    
    
    Sub Farbwechsel02
    Rot = 255
    Wait 2
    Rot = 0
    End Sub
    
    End                                                         'end program

    Nun habe ich noch ein paar Fragen an euch:
    (erklärende Link´s reichen; dann müßt Ihr die "Basics" nicht zum 1000 ten Mal erklären)

    * wie steuert der ATmega168 nun das LCD-Display an?
    Da gehört doch mehr dazu als das was in dem Programmbeispiel zu sehen ist (Initialisierung; Speicheradressen, Zeilenverwaltung usw.)

    Hat der 168er da was im ROM?
    Ging das von Bascom aus? Ich habe ja keine ".LIB" aufgerufen.

    * Wie bekomme ich den Cursor ausgeschaltet?
    Gibt es da auch einen einfachen Befehl, welchen ich nun übergeben kann?
    Ähnlich wie "LOCATE X,Y"
    Ich möchte gerne Texte darstellen ohne daß der Cursor sichtbar ist.




    Das mein kleines Programm so "unaufgeräumt" und nicht richtig dokumentiert ist bitte ich zu entschuldigen

    Ist halt eine Testphase in der ich lediglich Funktionen erlernen und testen möchte.
    Über die Ergonomie mache ich mir später Gedanken, wenn ich gelernt habe mit den Grundlagen umzugehen.


    liebe Grüße und Dank für eure Hilfe,

    Klingon77



    Nachtrag:

    Ganz vergessen zu fragen...

    Die freien PIN´s am LCD (4 Bit Modus) liegen auf Masse.
    Nun habe ich gelesen sie sollen über einen 10KOhm Widerstand gegen Masse geführt werden um vor dem Initialisieren einen "internen" Kurzschluß zu vermeiden?

    Ist da was dran? Im Wiki steht nur "gegen Masse legen" um ein eindeutigen Signalpegel (kein TrisState) zu haben.
    Von PullDown Widerstand steht da nichts...
    Der kürzeste Weg zwischen zwei Menschen ist ein Lächeln - http://www.ad-kunst.de

  4. #54
    Erfahrener Benutzer Robotik Einstein Avatar von Klingon77
    Registriert seit
    26.09.2006
    Ort
    Hunsrück
    Alter
    63
    Beiträge
    2.543
    hi,

    nun habe ich mal in´s Bascom Handbuch geschaut...

    "6.111 CONFIG LCD"

    Englische Sprachkenntnise sind zwar nur rudimentär vorhanden; allerdings glaube ich zumindest ansatzweise zu verstehen, was ich im obigen Programm geschrieben habe.

    Einen Befehl um den Cursor auszuschalten gibt es wohl auch


    Da hat sich seit meinen "guten alten CC-Basic Zeiten" doch einiges getan; ich bin da sehr angenehm überrascht \/



    Bliebe nur noch die eine Frage:

    Die freien Daten-PIN´s am LCD (4 Bit Modus) liegen auf Masse.
    Nun habe ich gelesen sie sollen über einen 10KOhm Widerstand gegen Masse geführt werden um vor dem Initialisieren einen "internen" Kurzschluß zu vermeiden?

    Ist da was dran? Im Wiki steht nur "gegen Masse legen" um ein eindeutigen Signalpegel (kein TrisState) zu haben.
    Von PullDown Widerstand steht da nichts...

    Wie macht Ihr das; wie ist es richtig?
    Nicht das sich das schöne (und nicht billige) LCD nach einigen Wochen/Monaten "in´s Halbleiternirvana verabschiedet"...


    liebe Grüße,

    Klingon77
    Der kürzeste Weg zwischen zwei Menschen ist ein Lächeln - http://www.ad-kunst.de

  5. #55
    Erfahrener Benutzer Robotik Einstein Avatar von Klingon77
    Registriert seit
    26.09.2006
    Ort
    Hunsrück
    Alter
    63
    Beiträge
    2.543
    hi,

    mal ein kleiner "Abriss" bezüglich der LED´s:

    Ich wollte ja das "Gesamtproblem" zergliedern und das habe ich nun auch gemacht; sprichwörtlich!

    Alles (soweit fertig) auf eine große Holzplatte aufgebaut.

    Bild hier  

    LCD Display, Buchse für die Spannungsversorgung und der ATmega168 sind schon drauf.



    Den Baum aus den oberen Foto´s habe ich nochmals als Schneidplott gemacht.
    Die Folie wird dann aufgeklebt und die Scheibe rundum mit Folie beklebt.
    Danach wird das Ganze (die freien Flächen) sandgestrahlt.
    Das kann ich in meiner kleinen "Baumarkt-Sandstrahlkabine" selber machen.

    Das Ergebnis sieht man im Foto:

    Bild hier  

    Während bei gefrästen Plexi-Platten nur Konturen dargestellt werden können ist es beim Sandstrahlverfahren möglich "Flächen" darzustellen.
    Das Licht wird wie üblich an den glatten Außenkanten des Plexiglases refklektiert und kann durch die "körnige Oberfläche" der sandgestrahlten Areale nach außen treten.

    Beim betrachten des Fotos fällt auf, daß man mehr Licht benötigt um die Flächen zum leuchten zu bringen als dies bei den gefrästen Konturen der Fall ist.
    Bedenkt bitte, daß die Plexiplatte in diesem "Baustadium" lediglich von einer einzelnen RGB-LED angestrahlt wird.
    Geplant sind LED-Leisten mit einem LED Abstand von 20mm.
    Die Platine dazu ist auch schon gezeichnet \/




    Bild hier  

    Für das LCD-Display habe ich eine Halterung aus 2mm Makrolon/Lexan gefräst.
    Damit kann ich es sicher auf der Platte montieren.
    Was noch fehlt ist die Anschlußplatine mit dem Poti für die Kontrasteinstellung und dem Vorwiderstand zur LED-Beleuchtung.




    Bild hier  

    Der Anschlußbuchse für die Spannungsversorgung habe ich ebenfalls eine kleine Makrolon-Halterung spendiert.




    Bild hier  

    Mit diesem kleinen Steckernetzgerät (5V 2500mA stabilisiert) möchte ich die Versuchsanordnung betreiben.




    Bild hier  

    Eine kleine Platine mit einer einzelnen SMD-RGB-LED habe ich auch gefertigt.
    Diese kann ich noch ohne Leistungsstufe direkt am ATmega168 betreiben.
    Zum ersten Test allemal genug.
    Dabei wird die LED nur mit 13mA - 15mA betrieben. Nicht daß mein ATmega168 Schaden nimmt. Die Farbwechsel kann man auch mit weniger Strom begutachten.
    Rechts die kleine Platine mit dem ATmega168 nach dem Vorbild von AndreeHB.




    Bild hier  

    Zum Abschluß nochmal der direkte Vergleich zwischen der gefrästen (links) und der sandgestrahlten (rechts) Variante des Baummotives.
    Die Plexi-Platte ist ca. 100mm breit und 130mm hoch.
    Die umlaufenden Kanten sind mit "Spiegelfolie" abgeklebt um den Lichtaustritt stirnseitig zu vermindern.





    Langsam geht es vorwärts \/ obwohl noch viel fehlt.
    Dem System möchte ich ein Auswahlmenu zur Anwahl unterschiedlicher Farbwechsel "spendieren".
    Falls möglich soll evtl. auch die Helligkeit des LCD Display´s geregelt werden... mal schauen.

    Das Ganze soll über drei Tasten "laufen".
    1) Auswahl "UP"
    2) Auswahl "Down"
    3) "Enter"



    Es fehlt noch die Leistungsstufe mit den FET´s, die Platine mit den Tastern und die Platine für die Spannungsversorgung.

    Auf dieser möchte ich noch einen Elko zum glätten, einen 100nF und einen Ferit Ring zum unterdrücken von Störungen, sowie eine Sicherung einbauen.

    Kann ich sonst noch etwas tun (außer kurze Leitungen) um die Störsicherheit zu erhöhen?



    liebe Grüße,

    Klingon77
    Der kürzeste Weg zwischen zwei Menschen ist ein Lächeln - http://www.ad-kunst.de

  6. #56
    Erfahrener Benutzer Robotik Einstein Avatar von Klingon77
    Registriert seit
    26.09.2006
    Ort
    Hunsrück
    Alter
    63
    Beiträge
    2.543
    hi,

    heute ging es nochmal ein Stück weiter \/


    Vorab ein kleiner Rückschlag:
    meine schöne Makrolon-Halterung für den Stecker des Netzteiles hat sich in seine Einzelteile zerlegt.
    Sicherlich hatte ich die Zeit beim zusammendrücken der Teile beim kleben zu kurz bemessen und die Verbindungen waren nicht richtig fest.
    Dann auch sofort die Buchse reingeschraubt und angeschlossen...
    Kommt davon, wenn man ungeduldig bastelt und sich nicht die nötige Zeit nimmt

    Selbst schuld...


    Gestern fräste ich noch eine ähnliche Halterung für die Sicherung (die hält!!!):

    Bild hier  



    Dann ging es mit der "Eingangsspannung" weiter.
    Eine kleine Platine sollte die 5V aus dem Steckernetzgerät etwas störunanfälliger machen.

    Bild hier  

    Die Schrift ist ca. 2mm hoch. Da hat es das Ganze doch "verrissen"; trotz 30 Grad Hartmetallstichels...
    Ich machte den Fehler einfach eine Schrift im CAD (SolidEdge V1 zu nehmen. Die bestand natürlich aus "Doppellinien".
    Wieder was gelernt...

    Bild hier  

    Bild hier  

    Zwei Elkos a´ 2200 uF, ein 100nF Kondensator, eine kleine Spule um einen Feritkern sowie einen Abgang zur Sicherung. Mehr ist nicht drauf.
    Eine kleine, übersichtliche "Baugruppe".

    Den Halter für die Buchse fräse ich natürlich nochmal neu.



    Bei der nächsten Platine, zur Ansteuerung des LCD Display´s, war ich dann schon ein wenig "schlauer".
    Statt eine Schrift aus dem CAD zu nehmen zeichnete ich die Zahlen und Buchstaben rasch direkt im CAD.
    Das ging erstaunlich schnell, wenn man mal in etwa weiß welches "Raster" man verwenden möchte und sich auch daran hält
    Auch hier sind die kleinsten Ziffern 2mm hoch.
    Die "4" ist leider etwas verunglückt... da muß ich nochmal "drüber".

    Einen "Klops" habe ich auch da reingefräst:
    Zum einen sieht man in einer Leiterbahn einen "Anfahrbogen".
    Da habe ich im CAM nicht aufgepasst.
    Zum zweiten habe ich natürlich für die LDC Hintergrundbeleuchtung die PIN´s vertauscht. Kabel am Stecker umgelötet; hat geholfen...

    Bild hier  

    Bild hier  

    Ich dachte, die Bestückung und Bezeichnungen der PIN´s "darauf zu schreiben" wäre keine schlechte Sache.
    Macht es doch das Ganze (auch wenn es nur eine kleine Platine ist) etwas übersichtlicher.
    Die vier freien PIN´s des LCD-Display´s legte ich nun über einen 1K Widerstand auf Masse.
    Weiter oben beschrieb ich schon, daß ich im Microcontroller-Net mal las das es ansonsten bei der Initialisierung des LCD´s zu Kurzschlüssen kommen kann, da sie intern auf HIHG-Pegel liegen???
    Sicher ist sicher, dachte ich mir und 5 zusätzliche Widerstände kosten nicht die Welt.

    So sieht sie bestückt aus.

    Bild hier  

    Poti hatte ich in dem entsprechenden Wert leider kein anderes mehr da.
    Ist ja auch nur eine Versuchsanordnung.




    Mein ATmega168 sieht nun auch ein klein wenig "aufgeräumter" aus.
    Die Spannungsversorgung meines Steckbrettes konnte ich nun auch abschalten. Das Ganze läuft nun über das kleine Steckernetzteil.

    Bild hier  




    Noch ein Bild, wie das Ganze nun auf der Holzplatte aussieht:

    Bild hier  


    Die LCD-Platine (Mitte vorne) habe ich ebenso gegen Störeinflüsse "gesichert" wie die Spannungs-Platine (links hinten).
    Die Zuleitungen vom AVR zur Platine sowie die Spannungszuführung wurden verdrillt.
    Die Störsicherheit hat nun merklich zugenommen und das bei unverändert langen Leitungen.
    Einen Darstellungsfehler im Display konnte ich nun nicht mehr provozieren.


    Zum Schluß noch ein Video, leider mit schlechter Tonqualität:
    "Bach; Tocata und Fuge"

    http://www.youtube.com/watch?v=VyTuiO1M5q0




    So, genug geschrieben für heute \/


    liebe Grüße und ein schönes Osterfest wünscht,

    Klingon77
    Der kürzeste Weg zwischen zwei Menschen ist ein Lächeln - http://www.ad-kunst.de

  7. #57
    Erfahrener Benutzer Robotik Einstein Avatar von Klingon77
    Registriert seit
    26.09.2006
    Ort
    Hunsrück
    Alter
    63
    Beiträge
    2.543
    hi,

    nun habe ich mir mal eine "Platinenschrift" gezeichnet.
    Sie ist zugegebenermaßen nicht sonderlich schön, sollte aber lesbar sein.


    Mein erster Versuch ("Spule" & "Sicherung" im Foto oben) war nicht so berauschend.
    Das lag daran, daß ich einfach eine Windows Schrift nahm und die war zweireihig.
    Bei einer Buchstabenhöhe von 1,5-2mm war das nicht so prickelnd.

    Nun zeichnete ich mir rasch eine "Einlinienschrift" in SolidEdge.

    Ein Foto gibt es im Anhang.


    Die Buchstaben und Zahlen sind jeweils:

    2mm hoch und 1mm breit.
    1,5mm hoch und ca. 0,75mm breit.

    Einige Ausnahmen gibt es; z.B: das "W".


    Falls noch andere Interesse an der Schrift haben stelle ich sie hier mal zum download rein.
    Man kann die einzelnen Buchstaben aus dem geöffneten File "kopieren" und in die eigene Zeichnung "einfügen".


    Die ZIP-Datei enthält die Schrift in folgenden Formaten:

    1) SolidEdge V18 Studi-Lizenz ".DFT" (lässt sich nicht in der regulären Lizenz öffnen)
    2) ".IGS" ".DWG"
    3) ACAD ".DXF" in den Versionen: 12; 13; 14; 2000


    Die Schrift habe ich selber erstellt und alle "Rechte" liegen bei mir.

    Wer möchte darf sie auch weitergeben.
    Da stelle ich keinerlei Ansprüche und man muß auch nicht fragen.


    Viel Spass beim fräsen wünscht,

    Klingon77
    Miniaturansichten angehängter Grafiken Miniaturansichten angehängter Grafiken platinenschrift.jpg  
    Angehängte Dateien Angehängte Dateien
    Der kürzeste Weg zwischen zwei Menschen ist ein Lächeln - http://www.ad-kunst.de

  8. #58
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    08.07.2004
    Ort
    Südhessen
    Beiträge
    1.312
    Dein ganzes Projekt ist einfach total krank! (Das ist ein Ausdruck tiefster Bewunderung)

  9. #59
    Erfahrener Benutzer Robotik Einstein Avatar von Klingon77
    Registriert seit
    26.09.2006
    Ort
    Hunsrück
    Alter
    63
    Beiträge
    2.543
    hi,

    dann mal gute Genesung uns allen; da gibt es einige "Kranke" im Fourm
    Ich zähle mich da noch zu den wirklich leichten Fällen...
    Mit etwas Glück nimmt die Fieberkurve einen leicht nach oben führenden Verlauf.



    Ich würde mich über eine Resonanz bezüglich der Schrift(en) freuen.
    Ein Foto vom Fräsergebnis oder ein kurzer Hinweis, was ich besser machen könnte.
    Ggf. fehlt auch noch was wichtiges an Zeichen?
    Das könnte ich dann nachbessern und wieder einstellen.


    liebe Grüße,

    Klingon77
    Der kürzeste Weg zwischen zwei Menschen ist ein Lächeln - http://www.ad-kunst.de

  10. #60
    Erfahrener Benutzer Robotik Einstein Avatar von Klingon77
    Registriert seit
    26.09.2006
    Ort
    Hunsrück
    Alter
    63
    Beiträge
    2.543
    hi,

    heute Morgen und heute Abend fand ich etwas Zeit die FET-Leistungsplatine zu fertigen.

    Gezeichnet hatte ich die schon gestern Abend:

    Bild hier  

    Natürlich sofort einen "Klops" geschossen...
    Eine Unterbrechung vergessen (roter Kreis im Foto unten).
    Da fragt man sich warum der blaue Kanal nicht tut was er soll


    Gefräst sieht es dann so aus:
    Die Unterbrechung habe ich nachträglich mit dem Skalpell in die 70 mü Platine "geschnitzt".

    Bild hier  

    Genießt das Bild; gelötet ist es schrecklich:


    Bild hier  

    Das liegt zum Teil daran, daß die kleine Spule die Fehlstelle verdeckte und ich mit dem Lötkolben den Fehler suchte...
    ...Teil einlöten, auslöten, messen, einlöten, am Verstand zweifeln, usw.
    Ihr kennt das sicher.

    Die Schrift zum Platinenbeschriften macht sich übrigens sehr gut.
    Die Buchstaben "R,G,B" zur Kanalbezeichnung sind 2mm hoch; der Rest ist 1,5mm hoch.
    Damit will ich zufrieden sein \/



    Nun konnte ich auch meine "alte" Lichtleiste mit fünf der RGB-SMD-LED´s anschließen.

    Die Leiste ist ca. 100mm lang und 8mm breit. Es befinden sich fünf der LED´s darauf.

    Bild hier  

    Nun erstrahlt das kleine Bäumchen schon viel kräftiger \/
    Die Farben kommen in "natura" kräftiger und gleichmäßiger als auf den Fotos zu sehen ist.
    Ich habe schon mehrere Aufnahmevarianten getestet; es gelingt mir aber nicht die Farben naturgetreu wiederzugeben.


    Alles in Allem seht Ihr hier den Versuchsaufbau wie er bis dato realisiert ist:

    Bild hier  

    Die kleine Platine mit den Leistungstreibern findet sich in der rechten unteren Ecke.
    Eine Messung vom Port zur Platine (Gate am FET) ergab (mit dem Multimeter bei PWM-Zyklus) eine Stromaufnahme von ca. 30 uA.

    Die 200 Ohm (196 Ohm) Widerstände machen sich gut.
    Ich konnte keine Einschränkung in der Funktion der LED´s feststellen.


    Die Halterung für meine Spannungszuführung habe ich immer noch nicht nachgearbeitet... kommt aber noch [-o<


    Zum Schluß noch ein Foto des LCD´s.


    Bild hier  



    Mein LCD-Display verliert bei längerem Betrieb immer noch von Zeit zu Zeit Zeichen (immer das Erste von oben und dann die nachfolgenden).
    Ich führe dies auf Störungen aus dem Netz zurück.
    In der Endfassung wird das Kabel stark gekürzt.

    Bringt es was einen Schmitt-Trigger Baustein für "DB5-8, E und RS" dazwischen zu schalten? Habe ich im Netz gelesen.
    Solle die Schmitt-Trigger an den Kabelanfang oder das Kabelende vor das LCD.
    Wenn der Aufbau mal steht muß ich ein mal paar Messungen mit dem Oszi machen.




    So, genug für heute; evtl. finde ich Sa. nochmal etwas Zeit oder nächste Woche. Dann möchte ich die Platine für die drei Taster fertigen.



    liebe Grüße,

    Klingon77


    PS: fast vergessen...
    kleines Video mit 5 LED´s.
    Leider versucht meine DigiCam permanent die Schärfe nachzuziehen.
    Ich glaube ich leihe mir mal eine richtige Videokamera.


    http://www.youtube.com/watch?v=KnfjQ1dWyG4
    Der kürzeste Weg zwischen zwei Menschen ist ein Lächeln - http://www.ad-kunst.de

Seite 6 von 8 ErsteErste ... 45678 LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

12V Akku bauen