Verschiedene Lauflichter

Fragen zu Schaltungen, Elektronik, Elektrik usw.

Moderator: T.Hoffmann

Borax
Star-Admin
Star-Admin
Beiträge: 11985
Registriert: Mo, 10.09.07, 16:28

Sa, 22.02.14, 16:40

8 Ausgänge ;)
Bitte schön (stilistisch miserabel, aber dafür hoffentlich gut verständlich):

Code: Alles auswählen


$regfile = "atTiny85.dat"
$framesize = 32
$swstack = 32
$hwstack = 32
$crystal = 1000000

' Pins:
' 1  v  8
' 2     7
' 3     6
' 4     5
'
' 1 = RESET     -> 10K an +5V;
' 2 = PB3/ADC3  -> RCLK 74595  (Pin12)
' 3 = PB4/ADC2  -> Poti
' 4 = GND
' 8 = +5V
' 7 = PB2(SCK) ->  CLK 74595   (Pin11)
' 6 = PB1(MISO) -> nc
' 5 = PB0(MOSI) -> SERIN 74595 (Pin14)



Dim I1 As Byte

Config Portb.0 = Output                                     'SERIN 74595
' Config Portb.1 = Output                                     'Nicht benutzt
Config Portb.2 = Output                                     'CLK 74595
Config Portb.3 = Output                                     'RCLK 74595

Mosi Alias Portb.0
Sck Alias Portb.2

Set Portb.2                                                 'CLK  74595 Leitung auf High
Set Portb.3                                                 'RCLK 74595 Leitung auf High


I1 = 0

'Alles auf 0 initialisieren
Shiftout Mosi , Sck , I1 , 2 , 8 , 20
   Waitus 20
   Reset Portb.3                                            'low Strobe an RCLK 74595
   Waitus 20
   Set Portb.3                                              'RCLK 74595 Leitung wieder auf High


Waitms 100


Do
   'Bitmuster rausschieben
   I1 = &B00000001
   Shiftout Mosi , Sck , I1 , 2 , 8 , 20
   Waitus 20
   Reset Portb.3                                            'low Strobe an RCLK 74595
   Waitus 20
   Set Portb.3                                              'RCLK 74595 Leitung wieder auf High
   Waitms 500

   I1 = &B00000010
   Shiftout Mosi , Sck , I1 , 2 , 8 , 20
    Waitus 20
   Reset Portb.3                                            'low Strobe an RCLK 74595
   Waitus 20
   Set Portb.3                                              'RCLK 74595 Leitung wieder auf High
   Waitms 500

   I1 = &B00000100
   Shiftout Mosi , Sck , I1 , 2 , 8 , 20
   Waitus 20
   Reset Portb.3                                            'low Strobe an RCLK 74595
   Waitus 20
   Set Portb.3                                              'RCLK 74595 Leitung wieder auf High
   Waitms 500

   I1 = &B00001000
   Shiftout Mosi , Sck , I1 , 2 , 8 , 20
   Waitus 20
   Reset Portb.3                                            'low Strobe an RCLK 74595
   Waitus 20
   Set Portb.3                                              'RCLK 74595 Leitung wieder auf High
   Waitms 500

   I1 = &B00010000
   Shiftout Mosi , Sck , I1 , 2 , 8 , 20
   Waitus 20
   Reset Portb.3                                            'low Strobe an RCLK 74595
   Waitus 20
   Set Portb.3                                              'RCLK 74595 Leitung wieder auf High
   Waitms 500

   I1 = &B00100000
   Shiftout Mosi , Sck , I1 , 2 , 8 , 20
   Waitus 20
   Reset Portb.3                                            'low Strobe an RCLK 74595
   Waitus 20
   Set Portb.3                                              'RCLK 74595 Leitung wieder auf High
   Waitms 500

   I1 = &B01000000
   Shiftout Mosi , Sck , I1 , 2 , 8 , 20
   Waitus 20
   Reset Portb.3                                            'low Strobe an RCLK 74595
   Waitus 20
   Set Portb.3                                              'RCLK 74595 Leitung wieder auf High
   Waitms 500

   I1 = &B10000000
   Shiftout Mosi , Sck , I1 , 2 , 8 , 20
   Waitus 20
   Reset Portb.3                                            'low Strobe an RCLK 74595
   Waitus 20
   Set Portb.3                                              'RCLK 74595 Leitung wieder auf High
   Waitms 500
Loop
[EDIT] Fehler (fehlender Strobe an RCLK 74595 korrigiert)
Zuletzt geändert von Borax am Mi, 05.03.14, 16:47, insgesamt 2-mal geändert.
setTo
User
User
Beiträge: 30
Registriert: Sa, 01.02.14, 22:35

Sa, 22.02.14, 17:44

Bitte schön
Danke :-)
Hab nur leider nicht genug Kabel da, muss am Montag erst neues kaufen.
Hab nur Kabel aus mehreren Drähten, das bekommt man so schlecht in das Steckboard.

Was anderes...
Hab heute nen alten Kamerade getroffen der selbstständig nicht weit von mir Platinen herstellt.
Wenn ich ihm ein fertiges Layout und die Komponenten gebe würde er mir die Platine herstellen.
Bekommen wir das hin? Hab mich ja an TARGET gewöhnt, klappt auch ganz gut nur kann ich da durch das Limit die Platine nicht fertig machen.
Und mit den anderen Programmen werde ich irgendwie nicht so richtig warm...
Zwar unverschämt (sorry), aber wäre es möglich das du mir die Platine digital erstellen könntest, damit ich das wenigstens schonmal bis Ostern fertig hätte?
Im Steckboard weiter programmieren können wir ja trotzdem :-)
Borax
Star-Admin
Star-Admin
Beiträge: 11985
Registriert: Mo, 10.09.07, 16:28

Sa, 22.02.14, 18:30

Zwar unverschämt (sorry), aber wäre es möglich das du mir die Platine digital erstellen könntest, damit ich das wenigstens schonmal bis Ostern fertig hätte?
Leider nein. Ich hab auch keine dafür ausreichende Software. Nur Eagle free - und die ist auf eine halbe Eurokartengröße (8x10cm) beschränkt. Da kriegen wir das aber nicht unter...
Es gibt hier im Forum vielleicht schon ein paar Leute, die Zugang zu einer Eagle Vollversion haben, aber ob die Lust haben das zu machen? Ist schon eine ziemliche Arbeit. Außerdem: Bis Ostern ist es ja noch mehr als ein Monat ;) In der Zeit kann man das auch locker auf Lochraster löten...
setTo
User
User
Beiträge: 30
Registriert: Sa, 01.02.14, 22:35

Sa, 22.02.14, 18:43

Trotzdem Danke, ist ja auch bestimmt nicht mal eben schnell gemacht.
Dachte nur auch weil ich ja gestern den Stecker gelötet habe was das für ein Fummelkram ist^^
Hab schon ne kleine Spitze auf dem Lötkolben aber anscheinen immernoch zu groß.
Borax
Star-Admin
Star-Admin
Beiträge: 11985
Registriert: Mo, 10.09.07, 16:28

Sa, 22.02.14, 19:37

Das übt sich ;)
Und die 'ganze' Lochrasterplatine ist ja dann auch nicht mehr so klein. Kommst Du eigentlich mit dem Lochmaster-Programm klar?
setTo
User
User
Beiträge: 30
Registriert: Sa, 01.02.14, 22:35

Sa, 22.02.14, 19:47

Kommst Du eigentlich mit dem Lochmaster-Programm klar?
Ich hattes es mal ausprobiert, aber direkt gemerkt, dass ich mit Target besser zurecht kam, dann hatte ich es sein gelassen und den Plan ja gesplittet damit es passte.

Kann ich mit Lochmaster auch selbst ne Platine erstellen? Also als Vorlage für meinen Bekannten?
Sonst muss ich mich da halt nochmal mit einüben, löte zwar relativ gerne, aber ne professionelle Platine wäre natürlich auch genial.
Vorallem für die nächsten Projekte :-P
Borax
Star-Admin
Star-Admin
Beiträge: 11985
Registriert: Mo, 10.09.07, 16:28

So, 23.02.14, 00:12

Kann ich mit Lochmaster auch selbst ne Platine erstellen? Also als Vorlage für meinen Bekannten?
Möglich ist es, aber gut geeignet ist es dafür nicht. Lochmaster ist wirklich nur zum planen auf Lochraster/Streifenraster gut, aber für 'frei definierte' Platinen ist das bei Lochmaster übliche Raster eher weniger hilfreich... Da würde ich mich eher nach was anderem umschauen. Z.B. KiCAD. Siehe auch: http://www.mikrocontroller.net/articles/KiCAD oder FreePCB: http://www.freepcb.com/ oder expresspcb: http://www.heise.de/download/expresspcb-1143396.html
Aber bitte nicht mich danach fragen... Ich bin im layouten nicht besonders gut und mach es auch nicht gern.
setTo
User
User
Beiträge: 30
Registriert: Sa, 01.02.14, 22:35

Di, 25.02.14, 20:37

Hallo,

habe nun wieder Kabel und konnte weiter bauen...
Allerdings will es nicht wie ich will.
Das Programm was du mir gegeben hast habe ich auf den Attiny geflasht, und die Schaltung aufgebaut.
Allerdings leuchten wenn ich Strom anschließe die leds konstant alle auf. Es wird also nicht das Lauflicht gestartet welches im Programm beschrieben ist.

Hier ein Bild des Aufbaus:
image(3).jpeg
Schaltung Attiny:
1 -> 10k -> +5V
2 -> 74HC595D Pin 12
3 -> nichts
4 -> GND
5 -> 74HC595D Pin 14
6 -> nichts
7 -> 74HC595D Pin 11
8 -> +5V

Schaltung 74HC595D
1 -> WD + LED
2 -> WD + LED
3 -> WD + LED
4 -> WD + LED
5 -> WD + LED
6 -> WD + LED
7 -> nichts
8 -> GND
9 -> nichts
10 -> +5V
11 -> Attiny Pin 7
12 -> Attiny Pin 2
13 -> GND
14 -> Attiny Pin 5
15 -> GND
16 -> +5V

Finde einfach den Fehler nicht...


EDIT: Kaum geschrieben, nochmal eingesteckt, funktioniert...

Zumindest halb, mal läuft es den ryhtmus richtig durch mal überspringt es eine led...
Ist hier vllt die "bus" leitung zu lang?

EDIT2: Also sobald ich den Strom trenne und wieder neu anschließe leuchten die Leds konstant ungleichmäßig, also jedesmal anders erst kurz ein aus und einschalten verschiedener LEDS aber ohne das programm durchzulaufen und nach 1-2 sekunden dauerleuchten einzelner LEDS.

EDIT3: Ou man.... Es war schon wieder der Attiny der nicht richtig Kontakt hatte anscheinend...
Aber mir fällt nun auf, wenn der Attiny sein Programm durchlaufen lässt gehen die LEDs die aus sind wärend andere angehen auch ganz kurz aufleuchten, aber nur minimal

EDIT4: Das bringt mich hier zum verzweifeln, es sitzen definitiv alle Kabel richtig und der Attiny und 74HC595D auch, dennoch startet das Programm nicht, wenn ich mehrmals nachgang strom ab und drauf gebe, sieht es aus als würde dann das Programm durchgespielt, als würde der Attiny das nächste Signal nur bei erneuter Stromzugabe abgeben. Als wäre die "Uhr" defekt^^
Ist das möglich, ist eventuell mein Attiny defekt?
Hilfe :-(
Borax
Star-Admin
Star-Admin
Beiträge: 11985
Registriert: Mo, 10.09.07, 16:28

Di, 25.02.14, 22:11

Schwer zu sagen... Aber wenn es da häufiger Kontaktprobleme gibt, kann das zu allem möglichen 'Fehlverhalten' führen. Außerdem sollten die Chips schon noch mit Kondensatoren gegen Spannungseinbrüche abgesichert werden (die sind ja auf Deinen Präzisionsfassungen schon drauf - nur passen die halt nicht gut zum Steckbrett). Ich denke, auf Platine gelötet funktioniert das dann schon sauber ;)
setTo
User
User
Beiträge: 30
Registriert: Sa, 01.02.14, 22:35

Di, 25.02.14, 22:14

Gibt es keine Möglichkeit die ic zu testen?
Also ich mein den attiny kann ich ohne schieberegister nochmal probieren.
Aber das schieberegister?

Das schieberegister habe ich in der Fassung sitzen, mit dem Kondensator. Nur den Attiny nicht.
Borax
Star-Admin
Star-Admin
Beiträge: 11985
Registriert: Mo, 10.09.07, 16:28

Di, 25.02.14, 22:26

Das/die Schieberegister einzeln ohne den Tiny zu testen wird schwierig. Außerdem gilt hier ja das gleiche: Wenn es Kontaktschwierigkeiten sind, dann können ja weder Schieberegister noch ATTiny was dafür... Du kannst aber mal testweise statt die Stromversorgung ab/anzuklemmen den Reset Pin am ATTiny mit einen Stück Kabel nach Masse ziehen. Das ist wie der Reset Knopf am Computer ;)
Benutzeravatar
Beatbuzzer
Auserwählter
Auserwählter
Beiträge: 3177
Registriert: Fr, 17.08.07, 11:02
Wohnort: Alfeld / Niedersachsen
Kontaktdaten:

Mi, 26.02.14, 20:43

Mir fehlen da irgendwie 100 nF an den ICs. Das kann schon helfen bei solchen mysteriösen Fehlern.
setTo
User
User
Beiträge: 30
Registriert: Sa, 01.02.14, 22:35

Mi, 26.02.14, 21:08

So habe mal reset testweise mit Masse kurz gebrückt, aber es erzielt den selben Effekt, das Programm wird scheinbar je eine Stufe weitergeschaltet.
Mir fehlen da irgendwie 100 nF an den ICs
An dem schieberegister ist der Kondensator in der Fassung, nur bei dem Attiny gab es leider keine Fassung mit Kondensator, hier habe ich keinen.

Aber wenn es daran liegen könnte, muss ich mir extra nun einen holen oder kann ich da einfach ne Fassung von den schieberegistern missbrauchen und diese mit Kabeln an den attiny Brücken?
Borax
Star-Admin
Star-Admin
Beiträge: 11985
Registriert: Mo, 10.09.07, 16:28

Mi, 26.02.14, 22:43

Aber wenn es daran liegen könnte, muss ich mir extra nun einen holen oder kann ich da einfach ne Fassung von den schieberegistern missbrauchen und diese mit Kabeln an den attiny Brücken?
Ideal ist es nicht. Aber einen Versuch ist es wert... Kabel so kurz wie möglich!
setTo
User
User
Beiträge: 30
Registriert: Sa, 01.02.14, 22:35

Do, 27.02.14, 21:38

Hat leider auch nichts gebracht, alles unverändert..
Naja am Samstag hat mein bekannter Zeit für mich und meine platine, vllt erkennt er ja woran es liegt.
Werde berichten :-P
Borax
Star-Admin
Star-Admin
Beiträge: 11985
Registriert: Mo, 10.09.07, 16:28

Do, 27.02.14, 21:40

Ok. Viel Erfolg! Wenn Dein Bekannter sowieso ein 'Elektronik-Bastler' ist, hat er bestimmt auch einen 100n Kondensator für Dich übrig...
Strumboe
Ultra-User
Ultra-User
Beiträge: 622
Registriert: Mi, 25.08.10, 11:19
Wohnort: Quickborn

Fr, 28.02.14, 09:23

Morgääähn.
Es gibt ein kostenloses CAD-Programm für die Erstellung von Schaltplänen und Platinen. Und dies ist sogar sehr leitungsfähig.
Es heißt "Design Spark".
http://www.designspark.com/deu
http://www.designspark.com/deu/page/des ... -home-page
Es wurde von RS-Components entwickelt. Ist frei verfügbar und erfährt regelmäßige Updates.
Die Commuity ist auch hier sehr stark und hilft einem schnell weiter. Genau wie in diesem Forum.
Aber es ist wie mit allen Programmen: umstellen und neu lernen in dem Umgang mit diesem Programm.

Gruß
Borax
Star-Admin
Star-Admin
Beiträge: 11985
Registriert: Mo, 10.09.07, 16:28

Di, 04.03.14, 23:40

Fehler gefunden (fehlender Strobe an RCLK 74595). Siehe: viewtopic.php?p=182363#p182363
setTo
User
User
Beiträge: 30
Registriert: Sa, 01.02.14, 22:35

Mi, 05.03.14, 19:29

Sooo - Update

War ja dann am Samstag bei meinem Bekannten und habe mit ihm nochmal alles durchgesprochen.
Er findet den Weg den wir gehen in Ordnung, will mir auch gerne helfen, nur ist auch er der Meinung das unser vorhaben eine schöner Start ist um mit einer Lochrasterplatine zu arbeiten und hat mir dann erstmal gezeigt wie man auf der Platine lötet (Lötlack usw.).
Nun habe ich also schonmal alle IC-Fassungen mit allen Pins auf die Lochrasterplatine gelötet und wenn wir das Problem mit dem Attiny in den griff bekommen haben soll ich wieder kommen und dann werden wir zusammen leiterbahnen usw löten.

Mit dem Attiny haben wir mithilfe eines Oszilloskop die Funktion des Attiny geprüft und gesehen, dass er ein Programm rausschickt.
Das Schieberegister hat dies auch Empfangen, dennoch blieben die Leds "still".
Da er sich nicht mit dem Programmieren von Attiny auskennt konnten wir da nun keinen Fehler finden.
Letztlich ist Borax aber aufgefallen, dass der Code nicht vollständig war :wink:
Es fehlter der Strobe an das Schieberegister.

Anbei nochmal den Code welcher nun läuft:

Code: Alles auswählen


    $regfile = "atTiny85.dat"
    $framesize = 32
    $swstack = 32
    $hwstack = 32
    $crystal = 1000000

    ' Pins:
    ' 1  v  8
    ' 2     7
    ' 3     6
    ' 4     5
    '
    ' 1 = RESET     -> 10K an +5V;
    ' 2 = PB3/ADC3  -> RCLK 74595
    ' 3 = PB4/ADC2  -> nc
    ' 4 = GND
    ' 8 = +5V
    ' 7 = PB2(SCK) ->  CLK 74595
    ' 6 = PB1(MISO) -> nc
    ' 5 = PB0(MOSI) -> SERIN 74595



    Dim I1 As Byte

    Config Portb.0 = Output                                 'SERIN 74595
    ' Config Portb.1 = Output                                     'Nicht benutzt
    Config Portb.2 = Output                                 'CLK 74595
    Config Portb.3 = Output                                 'RCLK 74595

    Mosi Alias Portb.0
    Sck Alias Portb.2

    Set Portb.2                                             'CLK  74595 Leitung auf High
    Set Portb.3                                             'RCLK 74595 Leitung auf High


    I1 = &B10000010

    'Alles auf 0 initialisieren
    Shiftout Mosi , Sck , I1 , 2 , 8 , 20
       Waitus 20
       Reset Portb.3                                        'low Strobe an RCLK 74595
       Waitus 20
       Set Portb.3
    Wait 5

    ' Die Variable I1 entspricht dem Bitmuster einfach die 0,1 in &B01000010 beliebig setzen, es müssen aber immer 8 sein
    Do
       'Bitmuster rausschieben
       I1 = &B10000001
       Shiftout Mosi , Sck , I1 , 2 , 8 , 20
       Waitus 20
       Reset Portb.3                                        'low Strobe an RCLK 74595
       Waitus 20
       Set Portb.3                                          'RCLK 74595 Leitung wieder auf High
       Waitms 100

       I1 = &B01000001
       Shiftout Mosi , Sck , I1 , 2 , 8 , 20
       Waitus 20
       Reset Portb.3                                        'low Strobe an RCLK 74595
       Waitus 20
       Set Portb.3                                          'RCLK 74595 Leitung wieder auf High
       Waitms 100

       I1 = &B00100001
       Shiftout Mosi , Sck , I1 , 2 , 8 , 20
       Waitus 20
       Reset Portb.3                                        'low Strobe an RCLK 74595
       Waitus 20
       Set Portb.3                                          'RCLK 74595 Leitung wieder auf High
       Waitms 100

       I1 = &B00010001
       Shiftout Mosi , Sck , I1 , 2 , 8 , 20
       Waitus 20
       Reset Portb.3                                        'low Strobe an RCLK 74595
       Waitus 20
       Set Portb.3                                          'RCLK 74595 Leitung wieder auf High
       Waitms 100

       I1 = &B00001001
       Shiftout Mosi , Sck , I1 , 2 , 8 , 20
       Waitus 20
       Reset Portb.3                                        'low Strobe an RCLK 74595
       Waitus 20
       Set Portb.3                                          'RCLK 74595 Leitung wieder auf High
       Waitms 100

       I1 = &B00000101
       Shiftout Mosi , Sck , I1 , 2 , 8 , 20
       Waitus 20
       Reset Portb.3                                        'low Strobe an RCLK 74595
       Waitus 20
       Set Portb.3                                          'RCLK 74595 Leitung wieder auf High
       Waitms 100

       I1 = &B00000011
       Shiftout Mosi , Sck , I1 , 2 , 8 , 20
       Waitus 20
       Reset Portb.3                                        'low Strobe an RCLK 74595
       Waitus 20
       Set Portb.3                                          'RCLK 74595 Leitung wieder auf High
       Waitms 100

       I1 = &B00000101
       Shiftout Mosi , Sck , I1 , 2 , 8 , 20
       Waitus 20
       Reset Portb.3                                        'low Strobe an RCLK 74595
       Waitus 20
       Set Portb.3                                          'RCLK 74595 Leitung wieder auf High
       Waitms 100

       I1 = &B00001001
       Shiftout Mosi , Sck , I1 , 2 , 8 , 20
       Waitus 20
       Reset Portb.3                                        'low Strobe an RCLK 74595
       Waitus 20
       Set Portb.3                                          'RCLK 74595 Leitung wieder auf High
       Waitms 100

       I1 = &B00010001
       Shiftout Mosi , Sck , I1 , 2 , 8 , 20
       Waitus 20
       Reset Portb.3                                        'low Strobe an RCLK 74595
       Waitus 20
       Set Portb.3                                          'RCLK 74595 Leitung wieder auf High
       Waitms 100

       I1 = &B00100001
       Shiftout Mosi , Sck , I1 , 2 , 8 , 20
       Waitus 20
       Reset Portb.3                                        'low Strobe an RCLK 74595
       Waitus 20
       Set Portb.3                                          'RCLK 74595 Leitung wieder auf High
       Waitms 100

       I1 = &B01000001
       Shiftout Mosi , Sck , I1 , 2 , 8 , 20
       Waitus 20
       Reset Portb.3                                        'low Strobe an RCLK 74595
       Waitus 20
       Set Portb.3                                          'RCLK 74595 Leitung wieder auf High
       Waitms 100
    Loop

Dann kanns nun weiter gehen :-)
Antworten