PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : suche 4->16 decoder und 16->4 encoder, *liebwink*



verlierer
02.01.2008, 21:12
hallo Ihr da :-)

programmiere gerade (visual c++) für meine solarhalle (www.robosolar.de) ein feines alarmsystem.
hab schonmal kleinen webcam-publisher als freeware ins netz geladen (http://www.liebwink.de/webcamjaja)

nu möcht ich über parallelen port (mit c++ ganz simple 8bit schreiben oder lesen)
noch steuern und auslesen (zB die 5 essentiellen leds der 7segementanzeige meiner funkalarmanlage).

möcht also mit 4->16 bit decoder 15 kanäle schalten
und mit 16->4 encoder 15 kanäle auslesen
jaja.

decoder zur wahl:

74LS154
MC14515BCL
HCF4514B / HCC4514B

encoder hab ich über Euer forum nur den
8->3 M74HC148B1R gefunden.
und mit zweien, 4 ANDs und inverter wirds mir und lochrasterplatine zu aufwendig.

problem aber, keine der chips gibts bei reichelt
reichelt hab ich lieb.

oh wär toll, wenn Ihr mir
einen 16->4 encoder verraten könnt,
und wo ich encoder und decoder innerhalb von einer woche bekommen kann.


vieleicht auch noch ein chip mit 4 optokopplern für die je 4 bits.

gibt übrigens usb-drucker kabel für 6euro bei ebay.
und da ich mit meinen vielen webcams und usb-hubs eh meinen ganzen hallenkomplex verkabel,
wär natürlich genialer und einfacher, überall für 6euro virutelle lpt-ports zu innstallieren.
aber unter xp wird das kabel als usb-druckerschnittstelle installiert,
und ich nix plan wie ich die programmier.
träume noch, dass wenn ich mein 60euro P2-333 notebook hier hab,
dass unter windowsME die kabel doch noch als virtuelle ports installiert werden.

wobei ich weit weniger optokoppler brauche, wenn ich die 2mal4 bits sichere,
anstatt die 2mal15 oder gar xmal8.

wenn Ihr billigen usb-io adapter kennt..
hab eigentlich keine zeit zum löten.

auch wenn roland physiker dass durchaus kann ;-)

liebwink.de
roland

ideen immer zu mir,
ausreden woanders hin.

http://www.liebwink.de/webcamjaja/upload%20laeuft.jpg[/url]

Furtion
02.01.2008, 23:17
Hi,

du willst also ne Komunikation zwischen PC und Alarmanlage. Und da willst
du die Siebensegement auslesen und noch andere dinge. ODer?
Ganz spontan würde ich da eher zu nem Avr + rs232 raten.
Vill. einfach mal lesen.

robocat
02.01.2008, 23:25
mit 4 bit kannst du zwischen 16 ausgängen hin und her schalten, wobei aber immer einer geschalten ist, und auch nicht mehrere gleichzeitig geschalten sein können.

genauso bei den eingängen: von genau einem signal lässt sich sagen, dass es anliegt, mehrere gehen nicht.

wollte das nur erwähnt haben.

passende ICs weiss ich leider auch keine, aber möglicherweise gibt es etwas, das 16bit parallel als eingang hat und das ergebnis seriell wieder ausgibt bzw das ganze in die andere richtung. damit könntest du über die serielle schnittstelle deine daten senden/empfangen.

serielle schnittstellen lassen sich auch besser über USB emulieren und sind recht günstig zu bekommen.

hier im forum hat es beinahe tradition, für jedes problem einen AVR controller vorzuschlagen. der wäre auch geeignet, um deine eingänge zu überwachen und die daten über die serielle schnittstelle an den rechner zu schicken.

gruesse

verlierer
02.01.2008, 23:42
ah hab grad freudig gesehen, dass ich bei reichelt
den 4->16 decoder und 8->3 encoder
nicht bei 74LS.. finde, sondern bei 74HC..
*freu*

und den einen inverter für die zweimal 8->3 kann ich ja softwareseitig implementieren.

aber vieleicht kennt hier ja jemand doch noch einen 16->4 decoder.

und ne einfache lösung für die 8 optokoppler

oder was über virtuelle drucker ports.

roland,
*gutenacht*

verlierer
03.01.2008, 00:06
oh schon zwei antworten, *freu*

und oh ja,
*denkfehler* :-)
für die ausgänge könnt ich die 15bit noch mit kondensator puffern, 15 transistoren dahinter hängen und die gewünschten bits periodisch setzen..
aber die zehn zustände der 7segmentanzeige mit einem 8->3 enocder zu übertragen ist natürlich dummheit.

hm.

ja, endlich mal die zeit zu finden solche microcontroller zu programmieren träum ich schon lange.
aber is nich.
die 8bit vom parallelen port zu schreiben lesen, ist eine einzige c++ zeile.

ich hab für den datenlogger meiner photovoltaikwechselrichter ne rs485 am notebook hängen.
Wenn Ihr da einfaches chip kennt, mit dem ich direkt über die rs485 8bit setzen oder lesen kann, das wär toll.

gibt bei reichelt ein rs485 modul mit 7bit eingängen und 8bit ausgängen.
der preis von 83euro schreckt mich ab.

täume ein wenig davon, mein alarmsystem über ebay und photovoltaikforum.com zu vermarkten. da sollten so unterkomponenten nicht gleich 100 euro kosten.

wenn Ihr was für 50 euro kennt,
ideen immer zu mir.

nu aber gutenacht.

Andun
03.01.2008, 09:14
Also, da ich mir nicht sicher bin, ob ich das richtig verstanden hab, nochmal zu deinen Kameras in der Halle? Wie willst du die anschließen?

Ich hab jetzt verstanden, dass du Ethernet verlegen willst und daran dann über einen Converter eine USB-Kamera? Da würde ich gleich zu evtl. etwas teureren Netzwerkkameras greifen.

Ist vermutlich etwas anders in der Ansteuerung aber das musst du dir halt überlegen.

mfg
Andun

verlierer
03.01.2008, 16:28
ah nu versteh ich den sinn der multiplexer.
muss mir auch immer selber helfen ;-)

nu also ganz simpler aufbau mit
dem man über eine einzigen lpt-port
bis zu 64 ausgänge schalten
und 64 eingänge auslesen kann.

pin 0-2 addressieren gleichzeitig einen 8bit multiplexer den man über pin 7 auslesen kann
und einen 8bit demultiplexer, den man über pin 6 schreiben kann.

dazu wird mit pin 3-5 noch einen 8bit demultiplexer addressiert,
mit dem man zwischen
8 multiplexer/demultiplexer-paare ("plexer-paare) über deren "strobe"-eingange durchwechselt.

der LS251 hat tri-state ausgang, da sollte ich alle 8 ausgänge der mutliplexer
einfach zusammenlegen können.

klar ist mir noch nicht, ob der LS138 die output-zustände hält (buffert),
während ich mit pin 0-5 alle ausgänge durchlaufe.
und erst ändert, wenn ich sie nach jedem 64er zyklus neu setzte/lösche.

falls beim LS138 die outputs alle auf low oder open gehen, sobald ein neuer output adressiert ist,
dann wär toll, wenn Ihr mir besseren chip nennen könnt.

hab hier nur handy internet und google mich recht umständlich von einem datenblatt zum nächsten.

das schöne an der schaltung ist,
dass man die multiplexer/demultiplexer-paare auch dezentral verteilen und nachrüsten kann.

und bei so vielen eingängen werd ich meine funkalarmanlage wieder verkaufen,
wird einfacher, unter jede webcam noch einen bewegungsmelder zu setzen,
als alle jahre die batterien der funksensoren zu wechseln.

die programmierung von c++ aus wird ein kinderspiel.
einfach das "output byte" von 0 bis 63 laufen lassen,
mit dem zusätzlichen wert 64 den adressierten output setzen oder nicht,
und beim gleich danach auslesen des "eingangs byte" einfach nach der 128 schaun,
fertig.

sagt mal, ob die LS-versionen die stromsparenden sind,
das HighSpeed der HC-versionen brauch ich eh nicht.

ich brauch nun demultiplexer, welche die 8bit output halten,
unabhängig was die SelectInputs oder der EnableInput sagt.
Der 74LS138 scheint das nicht zu tun.
Damit kann ich ihn für die Adressierung der plexer-paare nutzen,
aber zum halten der 64 output bits müsst ich diese demultiplexer
dann mit diode,kondensator,widerstand und transistor puffern :-/
und kondensator so bemessen, dass der transistor ihn über seinen vorwiderstand
innerhalb von so fünf 64er-zyklen leer saugt :-/
wobei ich allerdings meist eh treibertransistoren brauchen werd.

vieleicht kennt Ihr 8bit puffer speicher (flip flop?) chip,
das mit der ansteigenden flanke des demultiplexer-aktivier-eingangs gelöscht wird,
(in der zeichnung rechter input vom oberen 74HC138)
und darauf hin neu beschrieben wird.

roland,
ideen immer zu mir.

webcams..
nein nix ethernet.
viel zu teuer (50-60 euro pro kamera statt 5 euro),
brauchen extra stromversorgung
und saugen auch noch 5watt pro kamera.

die 5euro webcam (www.atronis-technology.com z.B.)
hat bessere auflösung, bessers bild, besseren weitwinkel,
is kleiner, integrierte beleuchtung, verbraucht fast nix
und wird auch noch über usb betrieben.

10meter usb kabel gibts bei www.lets-sell.info für 3euro
und aktiver 4port-hub für 6,50

also alle 10 meter ein hub, dann noch 5 meter verlängerung für 1,99
dann noch 2 meter webcamkabel (diese 17 meter schon getestet)
und wenn das noch nicht reicht, 5meter repeaterkabel gibts für 6,50

auch bei lets-sell: usb-ziffernblock für 5euro
und mit usb-soundkarte könnt ich noch anrufbeantworter neben briefkasten setzen.

neinein, ethernet oder wlan out, usb in, *freu*

20meter vga-verlängerung hat auch nur 13 euro gekostet.
kann ich neben den ziffernblock noch kleines tft hängen, *jaja*


produzieren,
statt konsumieren.



mit dem output-puffer könnt Ihr mir noch helfen, *liebwink*

FriLu
06.01.2008, 17:51
Hallo,
8-Bit-Latch 74LS573: hat Output-Enable (für tri-State) und Latch-Enable für Speicherfunktion ( LE=H Latch transparent, LE=L Letzter Ausgangszustand eingefroren ).
MfG Lutz

verlierer
06.01.2008, 20:58
Ja danke für den tip.
Hab hier leider nur ne unvollständig 74ls-liste.
Das mit dem latch-enable sieht schon mal gut aus. Der output würde gehalten, solange ich die anderen 138er aktiviere.
Trotzdem müssen beim 573 alle 8 eingänge gleichzeitig gesetzt werden. Ich würde ja über pin 0-2 der druckerschnittstelle die 8 bit einzeln adressieren, und über pin 6 setzen oder nicht.

Ein schieberegister oder seriell-parallel-chip würde es wohl auch tun..
Ein bit für den takt, ein bit für einen takt-reset und ein bit für die daten. Vieleicht bin ich mit demultiplexern im falschen fachgebiet.


8 positiv flankengesteuerte rs-flipflops würden gehen. Die 8bit des oberen 74HC138 könnten über die s-eingänge den q-ausgang setzten, die clear-flanke aus meiner zeichnung würde auf alle 8 r-reingänge gehen, und damit zuerst alle 8 q-ausänge löschen, bevor ich in den nächsten 8 lpt1-takten die 8 flipflops setzte, oder ruhen lasse.
Allerdings wird es kein solches chip mit 8 rs-flipflops geben, weil dazu mindestens 26 pins nötig wären.
Bei reichelt gibts ein MOS 4044 für 20cent, mit 4rs-flipflops, laut datenbatt sind das aber latches, also nicht flankengeseuert.

Ich denk ich lasse es, und puffere die ausgänge über dioden mit kondensatoren und treibe damit transistoren (die eh für relais nötig sind) oder solidstaterelais (für 220volt).

Vieleicht kennt Ihr ein chip mit 8 transistoren.
Und dann noch das chip mit den 8 optokopplern, das muss es doch geben.

roland,
der geborene verlierer.
antworten nur, wem es freude macht.

Unter win98 wird das usb-druckerkabel übrigens wirklich als lpt-port installiert. Allerdings ist winMe so instabil, dass ich gerade win2000 installiere.

FriLu
07.01.2008, 18:55
Wenn's seriell zu parallel sein soll: CMOS 4094
2 Möglichkeiten: 8x 4094 hintereinander, 64 bit reinschieben und mit (parallel geschaltetem) Strobe Ausgänge aktualisieren ODER
8x 4094 Daten und Takt parallel, 8bit rein und Strobe des jeweiligen Registers setzen.
Lutz

[Nachtrag:] OptoKoppler PC 847: 4 koppler im 16pol. DIL-Gehäuse
Treiber: ULN 2803: 8 Transistoren in 18pol. DIL-Gehäuse

fumir
08.01.2008, 17:05
schau dir mal den ad7506 an.

ein 16kanal analog multiplexer. das ist fast wie 16 relaisschalter in nem gehäuse, von denen du jeweils einen einschalten kannst. damit kannst du in beiden richtungen ein analoges oder digitales signal schalten.


wenn du wirklich 64 ausgänge haben willst die gleichzeitig ein signal geben, dann ist obige schaltung wohl nix. der (obere) hc138 schaltet ja nur jeweils eine leitung ein. wenn du nen buffer dahinter setzt, um die daten zu halten, dann braucht der buffer jedoch alle 8 ausgangssignale gleichzeitig, um sie zu übernehmen.
da müsstest du schon anstelle des hc138 ein schieberegister nehmen.

verlierer
11.01.2008, 18:11
oh wie schön, ja sogar noch eine antwort aufgetaucht O:)

das posting von Lutz war, wovon ich geträumt hatte, danke O:)
mochte aber erstmal einen schritt weiterkommen,
bevor ich mich wieder melde.

hab eben die reichelt bestellung losgeschickt.
das mit den demultiplexern war die falsche fährte.
hab zum 4094 den passenden 4021 gefunden:

1 bit für den takt,
1 bit für den strobe
1 bit für 8 bit seriell out
1 bit für 8 bit seriell in

und schon brauch ich keine parallele schnittstelle,
sondern kann mit usb-rs232 adaptern arbeiten,
morgen könnte der erste per post kommen.

dazu noch schönen schaltplan gefunden hab:

http://www.falko-pure.de/Falko_Pure/Mehrzweck_Interface.png
(www.falko-pure.de und Elektor)

Der TLC549 kostet zwar 1,65 Euro,
aber ein paar 8bit AD wandler tuen meiner photovoltaik-alarmanlage gut.

Kann ich die Autobatterie überwachen
und vieleicht über fototransistor Sonneneinstrahlung mitprotokollieren..

Für die Ansteuerung der seriellen schnittstelle
scheine ich auch alles beisammen zu haben:

GetCommModemStatus um CTS und DSR auszulesen,
EscapeCommFunction um DTR und RTS zu setzen,
CreateFile natürlich um den com-x zu öffnen
GetCommState und SetCommState um DCB::ByteSize auf 1 bit zu setzen,
dann müsste ich mit WriteFile TxD bitweise setzen
und mit ReadFile RxD bitweise lesen können

wenns unter c++ anders oder besser geht,
infos gerne hier.

Mit dem usb-drucker-kabel hab ich bis jetzt keinen erfolg.
nachdem ich pin 11(Busy) und pin 12(PaperEnd) auf Masse gezogen hab,
konnte ich mit WriteFile die 8bit des notebook lpt1 port setzen.
beim virtuellen lpt2 port (WindowsMe) hats nicht funktioniert.

4bit in und 4bit out alle 10 meter an jedem usb-hub würden mir reichen.
aber mit dem MOS 4094, MOS 4021 und optional noch den TLC 549,
ist die löterei wirklich wenig,
und einen windows-thread für das eigene serielle protokoll bekomm ich auch auf die reihe O:)

roland,
*liebwink*