- fchao-Sinus-Wechselrichter AliExpress         
Seite 2 von 2 ErsteErste 12
Ergebnis 11 bis 16 von 16

Thema: Landebefeuerung mit C-Control

  1. #11
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    17.08.2004
    Beiträge
    1.065
    Anzeige

    Praxistest und DIY Projekte
    Also das mit den PICs halt ich für ein gerücht, die gibts nämlich gratis, als samples bei microchip, ausserdem, muss man denn 32 IOs nehmen? leuchten nicht je 2 LEDs paarweise?damit würde sich der Pinaufwand halbieren. argh, ok das steht schon da oben.
    Das einzige, wo ich recht geben muss, ist, dass die PIC-Brenner aufwändiger sind.
    Ansonsten würd ich auch mal überlegen, ob reine Digitaltechnik nicht auch ginge. Bei microchip gibts auch I2C port expander, dh man könnte einfach ne sample bestellung machen, dann die LEDs an die Portexpander hängen und das ganze mit nem Pic ansteuern, einen mit internem Oszillator gewählt, das spart einen Quarz und den blinktakt einfach aus dem prozessortakt ableiten. Das würde das Layout auch recht einfach machen, alle paar cm eine Treiberplatine, dazwischen je 4kabel.

    ausserdem würd ich zu SMD teilen und dioden raten, dann sieht man nicht die LED Gehäuse, die doch echt hässlich sind, wenn ich mir diese "tollen" LED Bilder anschauen, wie es sie im möbelhaus oder an bahnhöfen gibt.

  2. #12
    Neuer Benutzer Öfters hier
    Registriert seit
    28.05.2006
    Beiträge
    5
    Hallo Lutz,

    da das Bild zu Weihnachten fertig werden soll, werde ich mich jetzt intensiv mit dem Thema beschäftigen.
    Ich habe mich jetzt doch für die C-Control entschieden und möchte dafür Schieberegister 4094 einsetzen. Einen Testaufbau auf einer Steckplatine habe ich bereits aufgebaut. Dateneingang D auf Port 1, Takteingang CLK auf Port 2, Strobe-Impuls Str auf Port 3, Vcc + 0E an +5V. Und mit entsprechenden Vorwiderständen Leds an den Ausgängen des Schiebregisters angeschlossen.

    Aber wie muss nun die Basic-Routine aussehen, um wirklich ein kurz-aufblitzendes Lauflicht erzeugen zu können??? Kann mir da jemand weiterhelfen??

    LG

    Maik

  3. #13
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    12.04.2006
    Ort
    Dresden
    Alter
    70
    Beiträge
    370
    Hallo, SirMaik
    In dieser Anwendung kannst du den Strobe des Schiebereg. auf Udd legen, das Reg. ist dann "durchsichtig".
    Bei der Micro -nehme an die hast du- ist Port3 NUR ein Eingang, der zudem beim Start logisch "H" sein muss ( sonst Download-Modus ).

    Zum Programm:
    Zuerst Definitionen:

    define licht port[1] ' siehe zusatzidee
    define blink port[4] ' zum blitzen, s. progende
    define takt port[5] ' anderer port geht auch, ausser P3
    define daten port[6] ' dito

    define i byte ' schleifenzähler
    define warten byte ' wartezeit x mal 20ms
    ' define

    define anzahl = 31 ' anzahl der angesteuerten ausgänge -1


    'Init:
    warten= 3
    takt= off
    daten= off
    for i= 0 to anzahl ' mit max Geschwindigkeit "leertakten"
    takt= on
    takt= off
    next
    blink= on

    ' Programmschleife:
    #loop

    daten= on
    takt= on
    takt= off
    pause warten

    ' "blitzer" -siehe progende:
    blink= off
    pause warten ' ED= 50%
    ' pause warten ' ED= 33%, wenn kommentar entfernt
    ' pause warten ' ED= 25%, wenn beide kommentare entfernt
    blink= on

    for i= 1 to anzahl
    takt= on
    takt= off
    pause warten
    ' die nächste zeile erzeugt ein ( optionales ) licht, was dem ersten
    ' in 5 Schritten abstand folgt:
    ' if i = 5 then daten= on else daten= off ' kommentar links entfernen

    ' die nächste zeile erzeugt ein ( optionales ) licht, was in
    ' gleichen abständen erzeugt wird:
    ' if not ( i mod 4 ) then daten= on else daten= off

    ' mod ist der Rest einer Ganzzahl-Division, mod 8 bzw mod 16 geht auch;

    ' "blitzer" -siehe progende:
    blink= off
    pause warten ' ED= 50%
    ' pause warten ' ED= 33%, wenn kommentar entfernt
    ' pause warten ' ED= 25%, wenn beide kommentare entfernt
    blink= on

    next
    ' wenn du lust hast, hier> for next< wie oben, mit anderen parametern
    ' und nochmal
    goto loop

    ' Zusatzidee:
    ' Spannungsteiler mit normalem R und Foto-R an ad_wandler, zb. P1
    ' anschliessen, und nach #loop befehl
    ' warten= licht / 64 + 2 ( evtl. berechnung anpassen )
    ' einfügen, passt die geschwindigkeit der Helligkeit an
    'zum Blitzer:
    'wenn die leds nach masse angeschlossen sind: alle kathoden zusammen
    ' an Kollektor eines nPn- transistors, Emitter an masse, basis über 4K7
    ' an Port4;
    Funktion:
    led an-> warten -> led aus -> warten -> weiterschalten
    ' es gibt bestimmt noch mehr möglichkeiten...

    So, hab das "On the Fly" geschrieben -also nicht getestet-
    hoffe aber auf fehlerfreiheit
    Viel Spass bei Probieren, Lutz
    Wir haben so viel mit so wenig solange versucht, das wir jetzt qualifiziert sind, fast alles mit fast nichts zu bewerkstelligen.

  4. #14
    Neuer Benutzer Öfters hier
    Registriert seit
    28.05.2006
    Beiträge
    5
    Hallo FriLu,

    ich habe die C-Control I und da ich mehrere Schieberegister (5 bis 6) einsetzen möchte, steht in meinem schlauen Buch, dass ich alle 4094
    an einer gemeinsamen Datenleitung und einer gemeinsamen Taktleitung betreiben kann. Lediglich die Strobe-Leitung sollte für jedes Schieberegister getrennt geschaltet werden. Auf diese Weise empfangen zwar alle 4094 die gleichen Daten; aber werden nur jeweils an den Ausgängen eines Registers durchgeschaltet.
    Was empfiehlst Du mir diesbezüglich?

  5. #15
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    12.04.2006
    Ort
    Dresden
    Alter
    70
    Beiträge
    370
    Hallo, SirMaik
    Pardon, ich hab etwas Trabbel und kann nicht so oft ins Netz wie ich möchte.
    Ich hatte angenommen, das alle Register hintereinander geschaltet sind, sonst macht das ja wenig sinn. Also alle Takteingänge parallel, Es vom ersten reg. an Kontrollerpin, Es vom zweiten an Q8 vom ersten, Es vom dritten an Q8 vom zweiten usw. Estr an H. Vorteil: nur Daten- und Taktleitung notwendig.
    Nachteil: je länger die Kette, desto mehr Takte sind notwendig, um die Daten an die richtige stelle zu schieben ( Takte= Anzahl der Ausgänge ).
    Bei Dir ( Lauflicht ) ist Register hintereinander ideal.
    Bei dieser halb parallel/ halb seriell ansteuerung in deinem Beispiel brauchts zum einen mehr Ports ( Takt, Daten + Anzahl der register ) und vor allem mehr aufwand in der Software, denn das Programm muss wissen, welche led an ist ( "durchschieben" ist einfacher und stellt den Lauflichteffekt von selbst her ). Also, wenn möglich, bau deine Hardware um.
    Die Unit 1.1 ist sogar praktisch, die lässt sich übertakten .
    Der Basic- Befehl pause hat ja eine schrittweite von 20 mSek, bei 8 MHz demzufolge 10 mSek. Eine Unit lief bei mir sogar mit 16 !! MHz.
    Hängt aber in erster Linie vom seriellen EEProm ab, da der IIC- Bus dann auch schneller wird. -das nur nebenbei-
    Bis bald Lutz
    Wir haben so viel mit so wenig solange versucht, das wir jetzt qualifiziert sind, fast alles mit fast nichts zu bewerkstelligen.

  6. #16
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    12.04.2006
    Ort
    Dresden
    Alter
    70
    Beiträge
    370
    Hallo, SirMaik
    die Register sind ja dazu da, einen zustand ( H oder L ) zu speichern, da blinkt also nichts - also externe lösung mit Transistor und "blink" ausgang notwendig. - sonst nur "stino-Lauli"
    bei der konstantendefinition ist das gleich (=) zeichen reingerutscht, also > define anzahl 8 < müsste gehen...
    Zum register: das teil ist ein rechtsschiebereg., heisst also, mit der L/H flanke an Takt (Pin3) wird, wenn strobe (Pin1) H, der Inhalt von Q1 (Pin 4) nach Q2 (Pin5) geschoben -usw. bis Q7 nach Q8- der Inhalt von Q8 geht verloren, oder wenn Es der nächsten Stufe angeschlossen, in Q1 des nächsten registers ( Bedingung: Takteingänge parallel angeschlossen ).
    -In Q1 wird der zustand von Es (Pin2)geschrieben-
    In meiner Programm-Init schreibe ich erst mal nur "L" in das register- in der schleife sollte eigentlich der befehl >>> if i= 5 then daten= on else daten=off <<< den daten-ausgang "L" setzen- der ist aber auskommentiert und so bleibt daten auf "H" ( erster befehl nach Loop), es fehlt also ein >>> daten= off <<< schreib also daten= off als 4.ten Befehl nach loop ( zwischen takt= off und pause warten )- hab ich vergessen
    Übrigens: die beiden Befehle takt= on und takt= off sind Micro-Unit-kompatibel, eigentlich reicht da ein > pulse takt < ( Micro macht das nicht ).
    so, noch mal zurück zum register: das die leds "von hinten" angehen, kannst du nur durch verdrahten ändern- Q1 ist pin4, Q2-4 Pin5-7;
    Q5 ist Pin14, Q6-8 13-11.
    Puh, was vergessen?¿ - Gruss Lutz
    Wir haben so viel mit so wenig solange versucht, das wir jetzt qualifiziert sind, fast alles mit fast nichts zu bewerkstelligen.

Seite 2 von 2 ErsteErste 12

Berechtigungen

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

Labornetzteil AliExpress