PIC als Ersatz für einen CD4017 ?

Im Unterforum Projekte im Selbstbau - Beschreibung: Selbstbau von Elektronik und Elektro

Elektronik Forum Nicht eingeloggt       Einloggen       Registrieren




[Registrieren]      --     [FAQ]      --     [ Einen Link auf Ihrer Homepage zum Forum]      --     [ Themen kostenlos per RSS in ihre Homepage einbauen]      --     [Einloggen]

Suchen


Serverzeit: 06 1 2025  10:56:35      TV   VCR Aufnahme   TFT   CRT-Monitor   Netzteile   LED-FAQ   Osziloskop-Schirmbilder            


Elektronik- und Elektroforum Forum Index   >>   Projekte im Selbstbau        Projekte im Selbstbau : Selbstbau von Elektronik und Elektro


Autor
PIC als Ersatz für einen CD4017 ?
Suche nach: pic (2056)

    







BID = 441767

Mortimer

Neu hier



Beiträge: 33
 

  


Hallihallo

Zuerst möchte ich mich im voraus für meine schwammige Ausdrucksweise entschuldigen, ich glaube das Schwierigste ist es immer ,sich mit seinem (in meinem bzgl Elektronik beschränkten) Wortschatz so auszudrücken, dass die anderen wissen, auf was man raus will :D, daher beschreibe ich es mal so, wie ich es sagen würde:



Ich möchte per Taster (kurzer Impuls) über einen CD4017 die Kanäle einzeln durchschalten. Mit Entprellen und ausreichender Beschaltung alles 1a. Nur ist mir das ganze vieeel zu groß und aufwändig - selbst als SMD-Komponenten.

Jetzt ist die Frage (da ich nicht bewandelt bin in der Hinsicht), ob es nicht ein kleines Programm für nen schnuckeligen Pic 12c508 o.ä. gibt, welches das entprellen schon drin hat und die gleichen Funktionen wie der CD4017 besitzt. Das wäre praktisch, da ich dann nur 1x ic ohne großartige Beschaltung bräuchte, es sehr klein wäre, ich 100mA pro kanal hätte (soviel brauche ich im Leben nicht), ich eh nicht 10 Ausgänge bräuchte, sondern eben mal 3 oder 4... und und und
ausserdem könnte ich das Programm noch ein bisschen anpassen (das bekomme ich gerade noch hin)

Das das totale verschwendung eine PICs ist (ist ja überhaupt keine Rechenleistung dabei), nehme ich unter Inbetrachtnahme der Tatsache, dass ein solcher IC sehr billig ist liebend gerne hin.

Danke euch !

BID = 441775

faustian.spirit

Schreibmaschine



Beiträge: 1388
Wohnort: Dortmund

 

  

Was ist denn an dem CD4017 aufwendiger, abgesehen von den paar Entprellbauteilen?

BID = 441782

Mortimer

Neu hier



Beiträge: 33

naja, mann muss am anfang das Clock-Signal definieren, dann muss man das Kabel für Reset an einen der Ausgänge hängen, bei dem es zurückspringen soll dann brauch man noch die Schaltung zum Enprellen + Transistoren für die Ausgänge (Brauche 50mA, zuviel für einen Logik-IC)

Das ganze muss schnellst möglich zusammengbaut sein, und seeeehr klein sein. Und mit klein meine ich dass die oben genannte Schaltung selbst als SMD-Version noch zu groß ist.

Und ein Pic hätte alles in einem, Reset und Clock stelle ich per Software am PC ein vor dem brennen.

Dann muss ich nur noch den Takt und die Spannung anlegen und kann direkt an die Ausgägnge gehen. Und in der 8-Pin-SMD-Version ist der PIC auch genau richtig von der Größe

BID = 441784

DonComi

Inventar



Beiträge: 8605
Wohnort: Amerika

Ich bin mir nicht sicher ob der soviel treiben kann an den Ausgängen. Beachte auch die max. Last der Versorgungspins!

Ansonsten ist sowas natürlich ein idealer Einsatzzweck für µCs der kleinen Sorte. Für AVR könnte ich dir jetzt nen Quellkode runterschreiben, aber von PIC habe ich keine Ahnung. Daher eben nur schematisch:

Hauptschleife: Taste abfragen.
Wenn alter Tastenwert xor neuem Tastenwert wahr ist (bzw. ein Pin auf 1 oder 0 steht )
-> entprellen (praktisch eine Schleife mit ein paar 10ms) [ist zwar eigentlich unsauber, aber praktisch]
-> einen Registerwert plus sich selbst addieren (oder mal zwei multiplizieren oder eben logisch gesehen alle Bits eine Stelle nach links schieben und Bit0 auf 0 setzen.)
-> neuen Wert eben abgleichen und gucken, ob eventuell wieder bei Bit0 angefangen werden soll (sozusagen bei einem bestimmten Ausgang wieder von vorn beginnen, wie beim '4017er den Ausgang n mit Reset verbinden.)
-> Und erneut in einer Schleife den Taster einlesen und auswerten.

_________________


[ Diese Nachricht wurde geändert von: DonComi am  7 Jul 2007 23:00 ]

BID = 441785

perl

Ehrenmitglied



Beiträge: 11110,1
Wohnort: Rheinbach

Der CD4017 funktioniert aber klaglos bis zu 18V. Bei dieser Spannung ist vom PIC wohl nur noch Asche übrig.


_________________
Haftungsausschluß:



Bei obigem Beitrag handelt es sich um meine private Meinung.



Rechtsansprüche dürfen aus deren Anwendung nicht abgeleitet werden.



Besonders VDE0100; VDE0550/0551; VDE0700; VDE0711; VDE0860 beachten !

BID = 441794

Mortimer

Neu hier



Beiträge: 33

@DonComi:
Atmels sind auch wunderbar, hab noch ein paar flache atmega8 rumliegen, könntest du mir da nen passenden Code schicken. Hab mit Selberschreiben nix am Hut

@perl: Spannung ist wurst, habe die wahl zwischen 2,3 und 5 Volt. Daher optimal auch für die ganzen Mikrocontroller


Danke für die Mühen, Jungs

BID = 441806

perl

Ehrenmitglied



Beiträge: 11110,1
Wohnort: Rheinbach


Zitat :
Und in der 8-Pin-SMD-Version ist der PIC auch genau richtig von der Größe
Mir ist auch nicht recht klar, wie du die 10 Ausgänge des 4017 auf die verbleibenden 5 Pins verteilen willst.
Die 50mA pro Pin solltest du dir auch abschminken.

_________________
Haftungsausschluß:



Bei obigem Beitrag handelt es sich um meine private Meinung.



Rechtsansprüche dürfen aus deren Anwendung nicht abgeleitet werden.



Besonders VDE0100; VDE0550/0551; VDE0700; VDE0711; VDE0860 beachten !

BID = 441812

DonComi

Inventar



Beiträge: 8605
Wohnort: Amerika

"Moin",

Ein Mega8 ist dazu wohl doch zu schade, wie ich finde. Der hat viel zu viel Potential.


Zitat :

Mir ist auch nicht recht klar, wie du die 10 Ausgänge des 4017 auf die verbleibenden 5 Pins verteilen willst.


--->


Zitat :

[...]ich eh nicht 10 Ausgänge bräuchte, sondern eben mal 3 oder 4.[...]


---

Zitat :

Die 50mA pro Pin solltest du dir auch abschminken.

Richtig. Das deutete ich ja bereits mit dem max. Strom der Versorgungspins an.

Zum Thema:
Einen fertigen Kode habe ich natürklich nicht da, aber ich denke, das sollte sich alles per Google finden lassen. Das Schema schrieb ich ja bereits auf. Du kannst ja mal versuchen, etwas zu machen, sei es auch noch so wenig, und ich werde dir dann weiterhelfen.
Es gibt viele Wege, die nach Rom führen. Du kannst es sowohl mit Basic Bascom, Assembler oder C probieren. Ich kann dir überall dann Hilfe leisten. Aber ein bischen Eigeninitiative sollte da sein .
P.S. Das bezieht sich allerdings, wie bereites mitgeteilt, nur auf AVR.

_________________

BID = 441816

perl

Ehrenmitglied



Beiträge: 11110,1
Wohnort: Rheinbach

Na, wenns nur 3 Ausgänge sein müssen, dann schau dir mal PIC10F200 & Co. an. Der kommt im 6-poligen SOT23 Gehäuse, ist also nicht größer als ein SMD-Transistor.
50mA kann er allerdings auch nicht treiben.
Wenn man aber noch 3 L2Fets im ebenfalls SOT23 Gehäuse dazunimmt, dann kann man ein paar Ampere schalten.
Das wären dann zusammen 4 SOT23-Gehäuse. Wenn man die beidseitig auf eine 0,5mm dicke Platine montiert, ist das noch hübsch klein.


_________________
Haftungsausschluß:



Bei obigem Beitrag handelt es sich um meine private Meinung.



Rechtsansprüche dürfen aus deren Anwendung nicht abgeleitet werden.



Besonders VDE0100; VDE0550/0551; VDE0700; VDE0711; VDE0860 beachten !

[ Diese Nachricht wurde geändert von: perl am  8 Jul 2007  0:40 ]

BID = 441906

Mortimer

Neu hier



Beiträge: 33

Hi, danke für die Antworten.

Habe mich ein bisschen umgeguckt unf werde das ganze mit einem amtmega8 TQFP32° und bascom realisieren. Ich hatte mir zuerst ein Tutorial durchgelesen, bei dem direkt im Assembler geschrieben wurde - da habe ich natürlich nicht viel geblickt. Aber mit BASCOM dürfte ich für das was ich vorhabe klarkommen. If,then, else, ... das kenne ich von meinem grafischen Schultaschenrechner

Ich melde mich wenn ich den ersten code fertig habe

BID = 445796

Mortimer

Neu hier



Beiträge: 33

Hallihallo

ich hab das ganze jetzt mit Bascom wunderbar auf die Reihe bekommen.
Aber jetzt tut sich nur noch ein Problem auf.

Der Atmega8 läuft auf 3-4 Volt von der Batterie. Ich habe ihn direkt an die Batterie angeschlossen, damit der Chip sich du Zustand der Ausgänge merkt, auch wenn das Gerät in dem er eingebaut ist (eine Spielekonsole mit Akku) beim Eisnchalten an der gleichen Stelle im Programm weitermacht.

Dummerweise zieht der Atmega dann 2-4mA, lässt man die Konsole nun liegen, wir der Akku entladen.

Jetzt hätte ich 2 Möglichkeiten, zu denen mir aber selbst Google nicht gut weiterhelfen konnte.

1. Den Zustand in den EEPROM des Chips schreiben und den Chip nicht mehr an der Batterie anschliessen, so dass er komplett aus ist und sich beim Neustart den Status aus dem EEPROM holt ...

oder

2. Den "powerdown" Befehl benutzen. Ich weiss, dass man einen Externen Interrupt brauch, um den Chip aufzuwecken.
Aber hier geht das Problem schon los:
Kann ich den Pin auf dem der Interrupt kommt bestimmen ? Wie muss das Signal aussehen ? Wie lautet der ProgrammCode dafür ?

Wäre klasse, wenn jemand hier nen Tipp für mich hätte

BID = 445808

DonComi

Inventar



Beiträge: 8605
Wohnort: Amerika

Das Problem bei Bascom ist, dass es für alles irgendwleche Befehle gibt, die sich a) keiner merken kann und b) weit entfernen vom Chip bzw. dessen Hardware und Register.

Es gibt bei manchen AVRs diverse Stromsparmodi, die man damit startet und auch auswählt, indem man in einem dafür bestimmten Register bestimmte Bits setzt und andere löscht.
Das Datenblatt gibt darüber Aufschluss, auch über das Aufwecken

Der Mega8 hat 2 ext. Interruptquellen, die einen IRQ auslösen können. (IRQ bedeutet Interrupt Request; beim AVR sehen sie so aus, dass eine Interruptflagge gesetzt wird und bei aktiviertem Interrupt zum Interruptvektor gehoppst wird) Diese definiert man ebenfalls mit einem bestimmten Register, ohne das bei Bascom übliche "config INTn = rising" oder "falling".
Das geht viel einfacher und hardwarenäher wenn man das entsprechende Register aus dem Datenblatt sucht und dann die richtigen Bits darin setzt. Möglich sind IRQ bei fallender, steigender, wechselnder Flanke oder bei LOW am INTn-Pin.

_________________




[ Diese Nachricht wurde geändert von: DonComi am 25 Jul 2007 22:48 ]

BID = 445910

Mortimer

Neu hier



Beiträge: 33

Hi und dnake für die Antwort. Ich habe zwar einigermassen verstanden was du da geschrieben hast, aber es ist mir dann doch zu umständlich

Nach einer längeren Recherche kam dann dabei raus, dass man über die einfachen Befehle Writeeeprom und Readeeprom Zugriff bekommt.
Ich lasse dann einfach für jeden Status eine Zahl (1,2,3,...) in den den Eeprom schreiben und nach einem Stromausfall wieder auslesen.

Somit kann ich den Chip ganz ausschalten und habe einen Strom von 0

ich melde mich wenn der Code fertig ist
Grüsse

BID = 446012

perl

Ehrenmitglied



Beiträge: 11110,1
Wohnort: Rheinbach


Zitat :
werde das ganze mit einem amtmega8 TQFP32° und bascom realisieren
Damit ist diese
Zitat :
mit klein meine ich dass die oben genannte Schaltung selbst als SMD-Version noch zu groß ist
Forderung wohl vom Tisch.

_________________
Haftungsausschluß:



Bei obigem Beitrag handelt es sich um meine private Meinung.



Rechtsansprüche dürfen aus deren Anwendung nicht abgeleitet werden.



Besonders VDE0100; VDE0550/0551; VDE0700; VDE0711; VDE0860 beachten !

BID = 446022

Mortimer

Neu hier



Beiträge: 33

hi Perl,

das stimmt schon, was du da sagst, aber dank der vielen Funktionen und Möglichkeiten des Atmegas, konnte ich alle weiteren ICs und Transistoren, die zusätzlich dazu gekommen wären mit Hilfe des Atmegas weglassen. Sprich ursprünglich wäre der Mikrocontroller nur ein Teil von viele gewesen, jetzt übernimmt er aber auch die Funktion aller folgenden LogicICs und anderer Bauelemente.

Somit habe ich viel Platz gespart, den ich für diese Bauart des m8 brauche.

Ich hoffe du verstehst das


Zurück zur Seite 0 im Unterforum          Vorheriges Thema Nächstes Thema 


Zum Ersatzteileshop


Bezeichnungen von Produkten, Abbildungen und Logos , die in diesem Forum oder im Shop verwendet werden, sind Eigentum des entsprechenden Herstellers oder Besitzers. Diese dienen lediglich zur Identifikation!
Impressum       Datenschutz       Copyright © Baldur Brock Fernsehtechnik und Versand Ersatzteile in Heilbronn Deutschland       

gerechnet auf die letzten 30 Tage haben wir 23 Beiträge im Durchschnitt pro Tag       heute wurden bisher 11 Beiträge verfasst
© x sparkkelsputz        Besucher : 182681260   Heute : 2055    Gestern : 9004    Online : 535        6.1.2025    10:56
3 Besucher in den letzten 60 Sekunden        alle 20.00 Sekunden ein neuer Besucher ---- logout ----viewtopic ---- logout ----
xcvb ycvb
0.039941072464