PIC 12F508? / Projekt
Mittwoch, 23. Mai 2012
 
 

PIC Mikrocontroller Forum  |  PIC Mikrocontroller  |  Entwicklungswerkzeuge  |  PIC 12F508? / Projekt « vorheriges nächstes »
Seiten: [1] 2 3 4 Nach unten Drucken
Autor Thema: PIC 12F508? / Projekt  (Gelesen 8013 mal)
 
cbeleven
Newbie
*
Offline Offline

Beiträge: 22


Profil anzeigen
« am: November 28, 2011, 18:05:52 »

Hallo Gemeinde!

!!!Newbie!!!

ich hab nach längerem Suchen dieses Forum gefunden und hoffe,hier kann mir jemand helfen.

Ich hab ein kleines Projekt vor.

Ich hatte mir Snowfalltubes besorgt.
---> http://www.youtube.com/watch?v=oXnCVn5yrG8&feature=related

Dann hab ich mal so´n Ding zerlegt.

Da kam dann diese Schaltung bei raus:  http://www.abload.de/img/lauflichtvzfy.jpg
Das Bauteil mit dem Fragezeichen konnte ich nicht zuordnen. Weiß aber jetzt,daß es ein PIC ist. Hab das Teil ausgelötet und auf der Unterseite steht BG1031.

Diese Schaltung möchte ich gerne in abgewandelter Form nachbauen.

Jetzt kommt mein Projekt:

LED´s sollen in einen Acrylstreifen eingearbeitet werden. Diese Streifen werden dann in´s Fachwerk von meinem Haus integriert,sodaß dieser Effekt an der ganzen Hausfassade zu sehen ist.Es wird der 16 Kanal Treiber gegen einen 8 Kanal Treiber getauscht.Das braucht allerdings mehr Schaltungen als diese Tubes mir bereitstellen können.


Und jetzt kommt mein Problem:

Hab mir nach ner weile Schlaumachen nen Brenner von Sprut gebaut.
Gedanke war: Code auslesen und in andere PIC´s brennen.
tja, da gab´s aber CP!

Neuer Gedanke: Assembler lernen! PIC`s "lernen"
Jetzt ist aber leider meine Zeit sehr knapp und man lernt das halt nicht in paar Stunden.
Hab mir trotzdem Lektüre besorgt und werde mich da reinfuchsen! Ist ja ziemlich interessant. ( Hatte vorher noch nie was mit PIC´s gemacht )

Mit meinem kleinen Wissen vermute ich aber,daß das Proggi für diesen PIC eigentlich nicht so groß sein sollte. Er reagiert doch eigentlich nur auf den LED-Treiber oder nicht?

Ideralerweise kann hier jemand so ein Programm für mich schreiben. Oder Er/Sie kann mich unterstützen. Wie gesagt mein Problem ist nicht Faulheit oder das Interesse sondern die Zeit,da ich sehr viel unterwegs bin.Elektrokenntnisse sind vorhanden! ( bin Elektriker ). Hat aber leider mit Elektronik nicht viel zu tun.

So...nun stellt Fragen, damit´s vorangeht!



Gespeichert
Rising
Newbie
*
Offline Offline

Beiträge: 38


Profil anzeigen
« Antworten #1 am: November 28, 2011, 22:52:07 »

Hallo,

also erstmal sihet das ja suuuuuuuper aus, woow.
Öhm zum Schaltplan, ich hab jetzt nicht genau das Datenblatt vom MD134 gelesen, scheint aber ne konstantstromquelle zu sein.

Meine Frage was sich bei deinem Schaltplan auftut ist, kann das so wirklich funktionieren!?
Der Strom fließt durch alle LEDs d.h. entweder leuchten alle oder keine?!

gruß
rising
Gespeichert
cbeleven
Newbie
*
Offline Offline

Beiträge: 22


Profil anzeigen
« Antworten #2 am: November 29, 2011, 17:08:41 »

Also der Schaltplan ist original. Der DM 134 ist ein LED Treiber---> http://pdf1.alldatasheet.com/datasheet-pdf/view/307063/SITI/DM134.html

Es sind pro Kanal immer 6 LED´s, die der Reihe nach von oben nach unten geschalten werden.Das erledigt der Treiberbaustein.( so denke ich jedenfalls ) Und der PIC steuert den Treiber.

Bei meinem Nachbau sollen´s aber nur 8 Kanäle sein. Etwa dieser hier: http://www.datasheetcatalog.org/datasheets2/25/250116_1.pdf

Ich weiß halt nur nicht,wie ich den PIC programmieren muß,da steh ich noch ganz am Anfang. Aber dem PIC sollte es eigentlich egal sein,ob da nen 16 oder 8 Bit Treiber dahinter steht.

Als ich versucht hatte den Original PIC auszulesen ging das nicht und als Hauptgewinn hat´s den auch noch gelöscht. Und deswegen brauch ich Unterstützung beim Erlernen vom programmieren eines PIC.

Hab mir mal dieses Buch zugelegt: PIC-Microcontroller: Programmierung in Assembler und C - Schaltungen und Anwendungsbeispiele für die Familien PIC18, PIC16, PIC12, PIC10

Vieleicht kennt das ja jemand?

Gespeichert
Stampede
Globaler Moderator
Hero Member
*****
Offline Offline

Beiträge: 969



Profil anzeigen WWW
« Antworten #3 am: November 30, 2011, 12:18:24 »

Hallo,

die kleinen würde ich in Assembler code. Dann die Seite für PICs ist www.sprut.de . Lies dich da mal ein damit du einen Überblick bekommst, und schau dir die Lernbeispiele an wie so ein Programm auszusehen hat. Dann brauchst du natürlich die MPLAB IDE, zu finden auf der Microchip Homepage oder über google. Natürlich brauchst du einen Programmer, ich denke mal du hast den Brenner8 von sprut gebaut?
Falls es dann konkrete Fragen gibt bekommst du hier Hilfe.

Gruß
Stefan
Gespeichert

Rising
Newbie
*
Offline Offline

Beiträge: 38


Profil anzeigen
« Antworten #4 am: November 30, 2011, 14:01:55 »

Hi,

aaaaachso jetzt ist das mir kalar, da hängen noch mehrere LEDs an den einzelnen Ausgänge dran.

Öhm das ganze könntest Du vereinfachen in dem Du einen "größeren" PIC nimmst z.B. (mein persönlicher lieblings PIC) 18F252, den C Compiler bekommst Du von Microchip, und Du kannst die LEDs (max. 20) direkt an dem Prozessor anschließen (Iled sollte ca. 10- 15mA nicht übersteigen).

Wenn es elegant sein soll mittels Timer und Interrupt, wenn nicht dann halt mit pausen.

Als Takt kannst Du ein RC Oszillator nehmen (5k gegen +, 10pF gegen masse und die Mitte an den Oszillatoreingang) wird denk so bei 1MHz schwingen.


gruß
rising
Gespeichert
cbeleven
Newbie
*
Offline Offline

Beiträge: 22


Profil anzeigen
« Antworten #5 am: November 30, 2011, 20:57:52 »

Hey, danke für euer Feedback.

Brenner 8 von Sprut hab ich gebaut.( Schließt zwangsläufig auch den 5er ein  Zwinkernd) Daraufhin hab ich mich auch auf der Sprut Seite eingelesen.

Assembler ist auch mein Gedanke gewesen.
MPLAB ist am start.

Ein größerer PIC kann aus Platzmangel nicht verwendet werden, es sei denn ich kann dadurch auf den Treiber verzichten.

Mein Problem ist eigentlich nur,daß ich noch ganz am Anfang vom programmieren stehe.

Ich weiß zwar daß es Unterschiede bei den PIC´s gibt und daß es Register/Bänke/IO usw. gibt,aber der Zusammenhang fehlt. ( Wann setze ich welches BIT,wie verwende ich dieses oder jenes Register )

Bin halt noch in der "Vorschule"...sorry.

Und das alles alleine aus Büchern zu lernen ohne es in der Praxis zu sehen ist (für mich) ziemlich schwierig.



Gespeichert
Stampede
Globaler Moderator
Hero Member
*****
Offline Offline

Beiträge: 969



Profil anzeigen WWW
« Antworten #6 am: Dezember 01, 2011, 10:53:58 »

Hi,

mal vorneweg, du wirst keinen finden der dir ein fertiges Programm schreibt. Da musst du selbst machen.

Das von dir verlinkte Dings sieht aus wie eine Art Lauflicht, demnach würde ich mal mit diesem Lauflicht von sprut anfangen. Da du ja den 12F508 verwenden musst/willst, ändere das erst mal auf nur 4 LED ab.
Dann als nächsten Schritt schreibst du ein serierlles Interface, damit du den DM134 ansteuern kannst und erweiterst ein Programm dann auf die gewünschte Anzahl von LEDs. Ich halte das für ein nicht allzu schweres Unterfangen, das auch ein Anfänger mit ein wenig Übung und Verständnis in überschaubarer Zeit hinbekommen sollte.

Noch der Link zum Beispiel:
http://sprut.de/electronic/pic/programm/lauflicht/lauflich.htm

Gruß
Stefan
Gespeichert

cbeleven
Newbie
*
Offline Offline

Beiträge: 22


Profil anzeigen
« Antworten #7 am: Dezember 02, 2011, 14:43:55 »

Na gut,dann werde ich es mal versuchen. Wenn mein Programm dann fertig ist könnt ihr mir dann helfen es zu vereinfachen? Es wird wahrscheinlich nicht sehr optimal geschrieben sein.

Wird aber ne Weile dauern Traurig
Gespeichert
Stephan
Jr. Member
**
Offline Offline

Beiträge: 88


Profil anzeigen
« Antworten #8 am: Dezember 04, 2011, 18:00:31 »

Willst Du Dich wirklich noch mit dem 12F508 herumschlagen? Der hat nur 1 (kastrierten) 8-bit-Timer und sonst gar nix. Wenn es schon 8 Pins sein müssen (Achtung: Du kannst nur 5 Pins als Ausgang schalten), nimm lieber den 12F675 oder 12F683, die haben wenigstens 2 (bzw. 3) richtige Timer (12F675: 1x 8 Bit und 1x 16 Bit, 12F683: noch 1x 8 Bit). Du kannst z.B. bei 12F508 kein Timer-Overflow-Flag abfragen, und musst Dir für den Overflow selbst eine Routine basteln. Es geht natürlich, macht aber gerade für den Anfänger keinen Spass.
Gespeichert
cbeleven
Newbie
*
Offline Offline

Beiträge: 22


Profil anzeigen
« Antworten #9 am: Dezember 04, 2011, 18:56:25 »

Danke,das ist doch schon mal ne Info.
Die 508 er war´n noch Restbestände von nem Kumpel. Ich werde mir dann die 675 er zulegen.
Gespeichert
Stephan
Jr. Member
**
Offline Offline

Beiträge: 88


Profil anzeigen
« Antworten #10 am: Dezember 04, 2011, 20:56:09 »

Wie viele LEDs willst Du denn ansteuern? In Deinem Schaltbild oben sind zwar 16 Kanäle (nur 1 ist eingezeichnet), aber die 6 LEDs sind in Serie geschaltet, leuchten also alle gleichzeitig.
Gespeichert
cbeleven
Newbie
*
Offline Offline

Beiträge: 22


Profil anzeigen
« Antworten #11 am: Dezember 05, 2011, 17:05:32 »

Der eine Kanal ist stellvertretend für die 16 Kanaäle.

Ich werde in meinem Projekt allerdings nur einen 8 Kanal Treiber verwenden.Das ist aber vom Schaltplan her egal.

Und es ist richtig,daß immer 6 LED`s gleichzeitig an sind.

16 X 6 LED`s von oben nach unten ergeben ein fallendes Lauflicht.

Ich mach mal nen Plan für mein Projekt,da sieht man´s dann besser.
« Letzte Änderung: Dezember 05, 2011, 17:10:36 von cbeleven » Gespeichert
Stephan
Jr. Member
**
Offline Offline

Beiträge: 88


Profil anzeigen
« Antworten #12 am: Dezember 05, 2011, 18:21:41 »

Du hast also 6 LED-Streifen mit je 8 (bzw. 16) Positionen und in jedem Streifen ist nur 1 LED an. Die Position (für alle Streifen gleich) wird durch den PIC festgelegt. Das ist ziemlich easy.
Gespeichert
Stephan
Jr. Member
**
Offline Offline

Beiträge: 88


Profil anzeigen
« Antworten #13 am: Dezember 05, 2011, 20:52:03 »

Wo bekommst Du denn den DM134 her ? Bei den üblichen Quellen (reichelt, conrad, digikey, farnell, rs-online, mouser) gibt es den nicht. Du solltest Dir also auch mal Gedanken über die Beschaffung der Teile machen.

Alternativen: TPIC6B595 (= Power-Version des 74LS595, gibt es bei segor.de) oder auch etwas grösserer µC mit 8 Ausgangs-Ports und Transistor + Widerstand als Treiber/Strombegrenzung.
Gespeichert
Stephan
Jr. Member
**
Offline Offline

Beiträge: 88


Profil anzeigen
« Antworten #14 am: Dezember 06, 2011, 12:46:03 »

Ich habe mir nochmals Deine Posts durchgelesen.

> Es sind pro Kanal immer 6 LED´s, die der Reihe nach von oben nach unten geschalten werden.Das erledigt der Treiberbaustein.( so denke ich jedenfalls ) Und der PIC steuert den Treiber.

Das ist bei Deiner Schaltung NICHT so, wie Du denkst. Der Treiber schaltet einen Kanal ein oder aus, dann leuchten ALLE 6 LEDs gleichzeitig oder ALLE sind aus. Der µC sagt dem Treiber nur, welche Kanäle an oder aus sind.
Gespeichert
Seiten: [1] 2 3 4 Nach oben Drucken 
« vorheriges nächstes »
Gehe zu:  

Powered by MySQL Powered by PHP Made for Mozilla (Firefox) Made for Internet Explorer
Seite erstellt in 0.041 Sekunden mit 18 Zugriffen.
 
Top! Top!