Forum: Mikrocontroller und Digitale Elektronik Mit Pic32 anfangen


von scripter (Gast)


Lesenswert?

Hallo,
Ich bin neu im Bereich der Mikrocontroller und möchte gerne mit dem 
PIC32 anfangen. PIC 32 deshalb, weil ich mehr Pins zur Verfügung haben 
möchte, um später einen LED (vlt. RGB) Cube (siehe youtube) bauen zu 
können. Nun weiss ich aber nicht, wie dieser programmiert wird 
(Interface). Wer kann mir helfen?
Für jede Hilfe danke ich im voraus.

von Oliver J. (skriptkiddy)


Lesenswert?

Such dir nen schnuckeligen 8-bitter. Der wird für den Einstieg eher 
geeignet sein.

von scripter (Gast)


Lesenswert?

Weshalb macht dies einen Unterschied? Sind sie nicht vom Prinzip her die 
selben?

von Oliver J. (skriptkiddy)


Lesenswert?

scripter schrieb:
> Weshalb macht dies einen Unterschied? Sind sie nicht vom Prinzip her die
> selben?

Schnapp dir mal Datenblätter und vergleiche die Komplexität, dann siehst 
du den Unterschied.

von scripter (Gast)


Lesenswert?

Wie funktioniert dann das programmieren bei einem 8Bit? Und wie bei 
einem 32 Bit?

von G4stomat (Gast)


Lesenswert?

(32 Bit) / (8 Bit) = 4.
Mathematisch bewiesen ein Viertel mal so gut.

von scripter (Gast)


Lesenswert?

Die "Gutheit" eines MC hängt ja nicht nur von den Anzahl Bit's ab. -> 
These (PseudoBeweis) widerlegt.

von scripter (Gast)


Lesenswert?


von Oliver J. (skriptkiddy)


Lesenswert?


von scripter (Gast)


Lesenswert?

Habe da in eurem Forum was gelesen
Beitrag "PIC32 Programmieren"
hier meint man, Brenner würden nicht mehr verwendet. Könnte mir jemand 
ein Stichwort geben, wonach ich suchen müsste?

von scripter (Gast)


Lesenswert?

Diese Antworten haben sich gekreuzt. Eigentlich tendiere ich eher zu 
PIC, da ich ein Buch habe, dass mit PIC arbeitet. Sind jetzt Brenner 
noch aktuell?
Was würdet ihr eher empfehlen und weshalb: PIC oder AVR (oder sonst 
was)?

von Oliver J. (skriptkiddy)


Lesenswert?

scripter schrieb:
> Was würdet ihr eher empfehlen und weshalb: PIC oder AVR (oder sonst
> was)?

Da ich mit AVR angefangen habe, ist meine Antwort klar AVR. Die 
Tutorials zum AVR hier sind erste Sahne. Außerdem kannst du hier mit 
schnellerer Hilfe zum AVR als zum PIC rechnen.
Aber auch mit einem PICKIT lassen sich schnell Fortschritte machen. Dann 
aber das Pickit3, damit hat man auch gleich ein nicht abgekündigtes Tool 
zum Debuggen und Brennen.

von scripter (Gast)


Lesenswert?

Ich überlege die Anschaffung eines solchen Teils. Im anderen Beitrag 
habe ich gelesen, dass Brenner nicht mehr verwende werden. Ist das so? 
Wie heissen die heutigen Geräte?

von Arc N. (arc)


Lesenswert?

scripter schrieb:
> Ich überlege die Anschaffung eines solchen Teils. Im anderen Beitrag
> habe ich gelesen, dass Brenner nicht mehr verwende werden. Ist das so?
> Wie heissen die heutigen Geräte?

Je nach Hersteller z.B:
ICD (In-Circuit Debugger, Microship), ISD (In-System Debugger, Atmel), 
On-Chip Debugging Emulator (Renesas), JTAG-Debugger/Emulator (div. 
andere Hersteller)

Atmel: JTAGICE3 o. z.B. AVRDragon
Microchip: MPLAB ICD3 o. PICkit3

Für den Anfang dürfe beim PIC32 auch das Starter-Kit reichen (DM320001)
http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=2615&dDocName=en532453

von scripter (Gast)


Lesenswert?

Reicht das PICkit 3 wie hier (erstere):
http://www.microchipdirect.com/ProductSearch.aspx?Keywords=PG164130
oder brauche ich hier noch zusätzliche Geräte? Weiss jemand wo ich das 
Pickit in der Schweiz beziehen kann? Auf distrelec.ch gibt es das

PICkit 3 Debug Express
    Debuggerkit für PIC-/dsPIC
    Programmer und Entwicklungsboard
    Entwicklungsboard mit Prototypbereich für oberflächenmontierte 
Komponenten und einem montierten PIC18F45k20
Lieferhinweis
Enthält die Software MPLAB IDE und den HI-TECH PICC LITE C-Compiler, 
einen CCS-Compiler für PIC18F45k20, Benutzerhandbuch, Übungsbeispiele 
und USB-Kabel

https://www.distrelec.ch/ishopWebFront/search/luceneSearch.do?dispatch=find&keywordPhrase=pickit+3

Dieses kostet aber 170.- ich frage mich, ob es dies braucht oder ob das 
Gerät (PICkit 3 In-Circuit Debugger) im ersten Link schon reicht. PICKit 
3 funktioniert auch für PIC32 ?
Am Starterkit bin ich auch schon vorbeigekommen, ich frage mich aber ob 
ich damit dann auch mein LED Lauflicht erstellen kann. Dazu müsste ich 
den PIC ja aus dem KIT nehmen, was nicht dem Sinn des Kit's entspricht.
Im Moment habe ich nicht wirklich eine Orientierung, ich bin dankbar für 
jegliche Hilfe.

von Carsten S. (dg3ycs)


Lesenswert?

Hi,

Vorwort:
also das es heute keinen Sinn mehr macht einen Selbstbaubrenner zu 
verwenden ist ja schon erwähnt worden. Man schafft sich damit nur eine 
weitere Baustelle und spart auch nicht wirklich. Zudem arbeiten die 
meisten Selbstbaubrenner nicht in der IDE und machen einen Wechsel 
zwischen den Programmen (nervig) nötig.
Wenn man darauf angewiesen ist ein paar Euro zu sparen lieber einen PK 
Clone aus China ordern als ein Selbstbaubrenner zu nutzen...
Bis PK2 hat Microchip auf jeden Fall alles offen gelegt, also sowohl 
interne Schaltung wie auch die Firmware die man einzeln downloaden kann. 
Somit sind diese Clones die danach gebaut sind voll Funktionskompatibel.
(Aussage: Wir wollen unser geschäft mit den Bausteinen machen und nicht 
schon an den Tools zum Leidwesen der kleinen Bastler verdienen)
Ich meine die Innenschaltung des PK3 habe ich auch schon gesehen, bin 
mir aber nicht mehr sicher)
Wobei: Wenn es nicht drauf ankommt: Original ist immer das sicherste!

Aber BTT:
Der PK3 alleine reicht völlig!
Das Debug-Express Set ist halt nur der PK3 plus ein 
Demo/Experimentierboard für die allerersten Schritte.
Mit dem PK3 kannst du alle halbwegs aktuellen PICs programmieren und 
viele auch Debuggen. Egal ob 10F, 12F, 16F, 18F, 24F oder wie du 
möchtest 32F.
(ICh meine Programmieren geht bei wirlich allen Pics mit F in der Mitte. 
Nur die C Typen gehen -mit ausnahme des 16C84- damit nicht mehr.)

Was gut ist, das ist das es zu dem Demoboard angepasste 
aufeinanderaufbauende Beispiele mit Übungen gibt.

Allerdings ist sowohl Schaltung wie auch der Inhalt der BegleitCD mit 
Übungen ebenfalls frei von der Website zu laden und so kann man sich das 
auch einfach auf Lochraster selbst aufbauen. Würde ich für die 
allerersten Schritte empfehlen wenn dir das Debug-Express Set zu teuer 
ist.
Die Mitgeliefert Entwiclungssoftware ist ja sowieso irrelevant weil man 
sich dann sowieso die aktuelleren Versionen direkt von der MC Website 
holen sollte, wo diese ebenfalls als freie Version mit leicht 
verringerter Optimierungsstufe (ohne weitere Einschränkungen) zum 
Download angeboten werden.

Wie schon erwähnt würde ich aber auch mit den 8Bittern anfangen. Wenn du 
das Fernziel PIC32 hast dann würde ich direkt mit den 18F Typen in C 
einsteigen. (wenn du da ein wenig weiter bist auf jeden Fall aber auch 
mal zumindest Assembler Grundlagen aneignen)
Denn hier ist die Komplexität deutlich geringer und auch fast alle 
Einstiegsseiten / Tuts befassen sich mit den 8 Bittern.

Wenn man diese dann einigermaßen beherrscht ist der Umstieg auf die 
PIC32 ja kein Thema. Sowohl IDE wie auch Programmer können ja beides 
Problemlos. Also einfach einen 32er Pic kaufen, MPLAB auf den 32Pic 
umstellen und mit den 32bittern weitermachen. Man bindet sich also nicht 
mit dem Einstieg in die 8 Bit welt.
(Der PIC32 basiert übrigends auf dem MIPS Design, neben ARM die andere 
große Architektur in der Welt der wirklich Leistungsstarken µC )

Gruß
Carsten

von ich (Gast)


Lesenswert?

Ich würde auch sagen, für den Anfang und auch für ein LED-Cube reicht 
ein 8-bitter völlig.

8bit: z.B. PIC18F87K90, TQFP80 mit 79 IOs. Es gibt zwar einen 18F96K.. 
aber als ein TQFP100 mit 80 IOs lohnen die 20 pins mehr nicht, um einen 
IO mehr zu haben, zudem die Periferie bei dem 16F87K90 deutlich besser 
ist.

32bit: z.B. PIC32MX340F128L, TQFP100 mit 85 IOs. Hat auch nur 6 IOs 
mehr, d.h. das die Anzahl der gewünschten IOs einen nicht zum 32bitter 
zwingt. Selbst wenn es umbedingt mehr als 80 IOs sein müssen und es 
nicht mit IO-Expander geht, gibt es noch die 16bit-PICs.

Aber noch 2 Sachen.

1. Meinst du, du bekommst einen 100pin bzw 80pin IC zu löten? Will dir 
nicht unterstellen, dass du das nicht hinbekommst, aber wenn du neu in 
der Materie bist, inklusive löten, solltest/könntest du Jemanden, der 
gut löten kann, fragen, ob er das macht oder gleich ein dev-board (Eine 
Platine mit dem PIC und Hardware wie extra RAM, EEPROM, Taster, Display, 
etc.) oder Breakout-Board (kleine Platine, wo das IC draufgelötet ist 
und mit großen, gut lötbaren Kontakten verbunden ist) kaufen.

2. Viele Projekte der LED-Cubes haben Microcontroller in DIP-Form, weil 
man diese halt gut löten kann und auch problemlos auf eine 
Lochrasterplatine bekommt. DIP geht bis 40polig, das bedeutet, dass so 
ein µC maximal (meist weniger) 38 IOs haben kann. Über multiplex bekommt 
man da schon was hin, zudem das glaube ich sowieso Hardwarebedingt 
normal so gemacht wird. Bei einem 8x8x8 LED-Cube brauchst du also keine 
8x8x8 Ausgänge.

http://www.instructables.com/id/Led-Cube-8x8x8/
hier wird so ein 8x8x8 Cube mit einem 40poligen µC gemacht. Geht mit 
einem PIC natürlich genauso gut wie mit einem AVR.

von Master S. (snowman)


Lesenswert?

eine gute seite dürfte für dich http://www.pic-projekte.de sein.
und einen 6x6x6-LED-cube kannst du mit 10% rechenresourcen eines PIC18 
machen und brauchst etwa 5 I/O-pins (diese angaben kann ich dir aus 
eigener erfahrung sagen).

von Willi W. (Gast)


Lesenswert?

scripter schrieb:
> Was würdet ihr eher empfehlen und weshalb: PIC oder AVR (oder sonst
> was)?

Dazu findest du hier einige Infos:
http://www.youtube.com/watch?v=DBftApUQ8QI

von Willi W. (Gast)


Lesenswert?

scripter schrieb:
> ... PIC 32 deshalb, weil ich mehr Pins zur Verfügung haben
> möchte, um später einen LED (vlt. RGB) Cube (siehe youtube) bauen zu
> können.

Selbst bei einem 4 x 4 x 4 Cube mit 64/192 LED wirst du diese kaum 
direkt mit dem Controller ansteuern, sondern immer einen Multiplexer 
dazwischen schalten müssen, d.h. eigentlich kommst du mit 2 Pins für ein 
SPI aus.

von hugo (Gast)


Lesenswert?

moin,

ich mach relativ viel mit dem pic32... ich wuerd dir ein pic kit 3 
empfehlen... reicht fuer den anfang... man kann in circut debuggen usw..
fuer groessere sachen ist es etwas zaeh...gerade das debuggen... aber 
naja...
ist halt low cost... mittlerweile hab ich nen icd3 und gebs nicht mehr 
her ;) aber fuer den anfang pic kit 3...
pic kit2 wuerde ich nicht empfehlen da bei den dingern nicht mehr die 
aktuellen prozessoren unterstuetzt werden...

starterboard wuerde ich von abraten die pins zwar alle offen liegen nur 
brauch man dazu so nen hirose stecker den man schlecht bekommt... wenn 
man ganz viel geld hat kann man sich ja das expansion board holen... 
aber ne das ist nichts... gerade wenn du spaeter mal selbst platinen 
machen willst ist ein pic kit 3 unersetzlich da du sonnst das ding nicht 
programmieren kannst...

als naechstes wuerde ich dir das olimex board empfehlen kostet glaub ich 
um die 32 euro oder so... da sind alle pins verfuegbar... led taster und 
pegelwandler fuer rs232 ist dabei...

gruss hugo ;)

von Sebastian (Gast)


Lesenswert?

Wenn's schon 32 bits sein müssen, könnte man auch gerade als Anfänger 
einen Controller nehmen, der nicht so exotisch ist wie der PIC32. Wie 
z.B. STM32 (ARM Cortex M3)

Mit dem STM32VLDISCOVERY bekommt man ein Evaluation Board inkl. Brenner 
und allem drum und dran für unter 20 EUR.

von Arc N. (arc)


Lesenswert?

ich schrieb:
> Ich würde auch sagen, für den Anfang und auch für ein LED-Cube reicht
> ein 8-bitter völlig.
>
> 8bit: z.B. PIC18F87K90, TQFP80 mit 79 IOs. Es gibt zwar einen 18F96K..

69 IOs
http://ww1.microchip.com/downloads/en/DeviceDoc/39957c.pdf

> 32bit: z.B. PIC32MX340F128L, TQFP100 mit 85 IOs. Hat auch nur 6 IOs
> mehr, d.h. das die Anzahl der gewünschten IOs einen nicht zum 32bitter
> zwingt. Selbst wenn es umbedingt mehr als 80 IOs sein müssen und es
> nicht mit IO-Expander geht, gibt es noch die 16bit-PICs.

Ich würde mir, u.a. aufgrund der div. Einschränkungen, keinen 8-Bitter 
mehr antun (auch wenn die PIC18 wesentlich besser als ihre Vorgänger 
sind), egal von welchem Hersteller.

Sebastian schrieb:
> Wenn's schon 32 bits sein müssen, könnte man auch gerade als Anfänger
> einen Controller nehmen, der nicht so exotisch ist wie der PIC32. Wie
> z.B. STM32 (ARM Cortex M3)

Außer dem Core (der auch nicht so exotisch ist), ist das gerade der 
Vorteil der größeren PICs: Die Peripherie ist großteils identisch und 
die fertigen Bibliotheken vom Hersteller zu deren Ansteuerung wirklich 
brauchbar.

von scripter (Gast)


Lesenswert?

Zuerst mal allen herzlichen Dank für die Antworten. Ich bin gerade ein 
wenig ver(w)irrt...

Die Auswahl eines passenden Microcontrollers gestaltet sich nun offenbar 
schwieriger als erwartet. Eigentlich habe ich gedacht, PIC 32 = 64 Pin's 
= 64 Led's die gleichzeitig leuchten. Mittlerweile weiss ich (bzw. 
glaube ich zu wissen), dass es auch andere PIC gibt mit 64 PIN und dass 
für den Cube nur 32 (I/O ?)-Pins nötig sind und dass nur immer eine LED 
leuchtet. Ich dachte 8-bit = 8 PIN's, 32-bit = 32 PIN's, dies hat sich 
aber als falsch erwiesen. Dass der 32-bit grösser und leistungsfähiger 
ist, das habe ich mittlerweile mitbekommen, doch was ist genau 32-bit 
gross?

Wenn ich mich also für den (bzw. einen) PIC32 entscheide, dann gibt es 
hier 
(http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=211&mid=10&lang=en&pageId=74) 
46 verschiedene Exemplare. Ich habe gehört, dass es einfacher ist mit 
einem internen Quarz. Dies ist also etwas das mein PIC haben sollte. 
Welche Faktoren helfen mir neben der PIN-Anzahl auch noch bei der 
Auswahl? Was ist wichtig? Mit den Datasheets kann ich im Moment nicht 
viel anfangen.

Ich möchte eigentlich bei PIC bleiben, ich glaube nicht, dass ein 
Wechsel auf eine andere Marke nötig wäre.

Ich habe zwar den Schaltplan eines solchen Cubes gesehen und auch dass 
er Transistoren braucht, die genaue Ansteuerung eines einzelnen LED's 
verstehe ich aber immer noch nicht.
Auf http://oldwiki.blinkenarea.org/bin/view/Blinkenarea/L8Cube gibt es 
ein anschauliches grafisches Schema, das die Funktionsweise des Cubes 
erklären soll. Mir ist allerdings die Rolle der Transistoren und der 
violetten Leitungen nicht ganz klar.  Ich dachte, dass je eine Leitung 
einer Reihe ("x-Reihe", grauer Draht) an einen PIN angeschlossen ist und 
diese mit Strom versorgt. Für die "Abfuhr" des Stroms ist je eine Reihe 
(y-Reihe, gelb) an ein PIN angeschlossen. So würde dann jeweils immer 
eine Säule brennen. Die pinke Leitung sollte ja den Stromfluss auf der 
z-Ebene unterbrechen, so dass nur eine LED brennt. Ich verstehe aber 
nicht wie das funktioniert und was hier die Transistoren für eine Rolle 
haben. So wie ich es verstanden habe, ist ein Transistor das Gegenteil 
eines Widerstands. Die Transistoren sind mir im Moment ein Rätsel. Im 
Video "How to multiplex with LED" 
(http://www.youtube.com/watch?v=lZyc6ulpkyM) verstehe ich die Teile in 
2:42-2:57 nicht. Vielleicht kann mir das jemand erklären?

Willi W. schrieb:
> Selbst bei einem 4 x 4 x 4 Cube mit 64/192 LED wirst du diese kaum
> direkt mit dem Controller ansteuern, sondern immer einen Multiplexer
> dazwischen schalten müssen, d.h. eigentlich kommst du mit 2 Pins für ein
> SPI aus.
Was meinst du damit genau? Geschieht das Multiplexing nicht direkt mit 
dem Controller? Das Prinzip des Multiplexing habe ich ja verstanden 
(ausser die Ansteuerung der Transistoren bereitet mir Mühe, s. oben).

@snowman: Pic-projekte habe ich ebenfalls gefunden, bin gerade das 
Pic-Tutorial (http://pic-projekte.de/pic_tutorial.html) am lesen.

Als programmiergerät werde ich also das PIC-kit3 kaufen (funktioniert 
auch für PIC32 oder?). Danke dg3ycs. Weiss jemand wo man diesen kaufen 
könnte (CH)? Ich finde leider nur das Debug Express KIT. (Es wird oft 
vom chinesischen Clone gesprochen. Was wäre dann das orgininal? Bin dem 
noch nie begegnet...).

@dg3ycs: Zur Programmierung: Ich weiss selber nicht recht, womit ich 
programmieren sollte. Da ich weder Assembler noch C auch nur ansatzweise 
kenne, macht es diesbezüglich keinen Unterschied. Es heisst halt, dass 
man mit Assembler die Funktionsweise besser versteht. Mit C wäre es halt 
schneller und einfacher, der Compiler CCX5 (?) ist ja auch in Ordnung. 
Ich denke es macht Sinn mit Assembler anzufangen und später auf C zu 
wechseln.

@du (bzw. "ich";-): Kriegt man auch einen nicht-DIP-förmigen auf eine 
Steckplatte? (DIP = rechteckform?)
Bezüglich Löten habe ich ein wenig Erfahrung, allerdings nicht mit solch 
feinen Materialien. Am Anfang würde ich mit einer Lochrasterplatine 
arbeiten, ob ich es fertig bringen den PIC zu löten, weiss ich nicht. 
Soweit voraus habe ich noch nicht gedacht, ich werde mir, im Falle dass 
ich den nicht Löten könnte, eine Lösung überlegen. Guter Punkt...

von Master S. (snowman)


Lesenswert?

> PIC-kit3
wenn du's ohne bindestrich schreibst, wirst du bei ebay schnell fündig: 
http://shop.ebay.com/i.html?_nkw=PICkit3

> Ich dachte 8-bit = 8 PIN's, 32-bit = 32 PIN's
diese bit-angabe entspricht der internen datenverarbeitungsbreite, du 
kannst sie mit der anzahl spuren auf der autobahn vergleichen: je 
breiter desto mehr autos kannst du auf einmal drüber schricken; wenn du 
aber nur 8 autos brauchst, bringen dir auch 32 spuren nichts ;-)
die leistungsfähigkeit eines uC hängt also von der taktrate 
(geschwindigkeit) und der datenbusbreite ab: für dein vorhaben reichen 
8bit und 10MHz locker aus, z.b. ein PIC18 (vgl. PIC32 hat 32bit bei 
72MHz).
hierzu musst du wissen: je grösser und schneller ein uC ist, desto 
komplexer (schwieriger!) ist's, ihn zu verstehen und ihn zum laufen zu 
kriegen.

wenn ich deine weiteren fragen ansehe, empfehle ich dir ein steckbrett 
und einen PIC18 im DIL-format. zu beginn erstmal eine LED zum blicken zu 
bringen, dann ein paar LEDs im multiplexverfahren ansteuern und dann 
verstehste auch wie ein LED-cube aufgebaut ist.

ps: i bin au us de Schwiiz :-)

von Bündner (Gast)


Lesenswert?

Master Snowman schrieb:
> Da ich weder Assembler noch C auch nur ansatzweise
>
> kenne, macht es diesbezüglich keinen Unterschied.

Ich würde dir empfehlen, ein einfaches Projekt in Assembler zu 
versuchen. In deinem fall würde sich evtl. ein Lauflicht "Knight Rider" 
anbieten.
Ich finde Assembler insofern wichtig, da in den Datenblättern der PIC's 
meines Wissens nur Assembler Beispiele vorkommen. Danach würde ich das 
gleiche Projekt nochmals in C realisieren. Wenn du dir das PICK Kit 3 
(Hier der Link 
http://ch.farnell.com/microchip/dv164131/debug-kit-express-pickit-3/dp/1686530?Ntt=MICROCHIP+-+DV164131+-+DEBUG+KIT%2C+EXPRESS%2C+PICKIT+3)
kaufst, bekommst du ein Demoboard mitgeliefert wo du oben erwähntes 
Lauflicht mit 8 LED realisieren kannst. Dazu gibt es von Microchip auch 
einfache Beispiele für C das PDF heisst glaubs „C-Lessons“.
Dieses Buch hat mir auch sehr geholfen, ich finde es auch sehr gut 
geschrieben vom Stil her meine ich. 
http://www.buch.ch/shop/home/artikeldetails/mikrocontroller_fuer_einsteiger/michael_hofmann/ISBN3-7723-4318-X/ID17303927.html

Hoffe das hilft dir

Grüsse aus den Bündner Bergen

von Master S. (snowman)


Lesenswert?

ich hab' das nicht geschrieben...

von ich (Gast)


Lesenswert?

Ist jetzt doch etwas mehr geworden, wie ich eigentlich schreiben 
wollte;)

scripter schrieb:
> Die Auswahl eines passenden Microcontrollers gestaltet sich nun offenbar
> schwieriger als erwartet. Eigentlich habe ich gedacht, PIC 32 = 64 Pin's
> = 64 Led's die gleichzeitig leuchten. Mittlerweile weiss ich (bzw.
> glaube ich zu wissen), dass es auch andere PIC gibt mit 64 PIN und dass
> für den Cube nur 32 (I/O ?)-Pins nötig sind und dass nur immer eine LED
> leuchtet. Ich dachte 8-bit = 8 PIN's, 32-bit = 32 PIN's, dies hat sich
> aber als falsch erwiesen. Dass der 32-bit grösser und leistungsfähiger
> ist, das habe ich mittlerweile mitbekommen, doch was ist genau 32-bit
> gross?

Wie schon von Master Snowman beschrieben, sagt die bitzahl nichts über 
die Anzahl der Ausgänge aus, sondern ist das die interne breite vom Bus. 
die 8bitter PICs gehen von 5poligen PICs mit 3 IOs bis hin zu 100poligen 
PICs mit 70 IOs.


scripter schrieb:
> Ich habe gehört, dass es einfacher ist mit
> einem internen Quarz. Dies ist also etwas das mein PIC haben sollte.

Ansich haben die neueren PICs (3-4Jahre alt) alle einen Internen 
Oszillator und manche PIC18Fs (16bit und 32bit PICs sowieso) auch einen 
PLL (der macht quasi aus 12MHz 48MHz). Einfacher ist das ansich nicht. 
Du sparst dir lediglich 1-3 Bauteile auf der Platine, dafür sind die 
meisten internen Oszillator ungenauer als extern angeschlossene Quarze. 
Der Rest ist nur eine andere Config im PIC.


scripter schrieb:
> Welche Faktoren helfen mir neben der PIN-Anzahl auch noch bei der
> Auswahl? Was ist wichtig? Mit den Datasheets kann ich im Moment nicht
> viel anfangen.

Das ist halt von der Anwendung abhängig. Je neuer desto besser denke ich 
mir immer. Zumindest bei PICs. Abgesehen von den IOs sind sachen wichtig 
wie, wieviele ADCs brauchst du, willst du USB anschließen, willst du mit 
anderen ICs kommunizieren, die PIC18F gibts mit 3,3V und 5V Versorgung, 
brauchst du einen EEPROM usw. Solche angaben sind auf der Microchip 
Seite in der Auswahlliste der PIC-Familien meiner Meinung nach ideal 
gezeigt.


scripter schrieb:
> Was meinst du damit genau? Geschieht das Multiplexing nicht direkt mit
> dem Controller? Das Prinzip des Multiplexing habe ich ja verstanden
> (ausser die Ansteuerung der Transistoren bereitet mir Mühe, s. oben).

Für einen 4x4x4 Cube brauchst du (ohne Treiber) 4+4+4=12 Pins. An den 4 
Ausgängen für die Zeile kommen die Anoden dran. An den 4 Ausgängen für 
die Spalte kommen die Kathoden der Spalte dran und an den 4 Ausgängen 
für die Ebenen kommen die Kathoden der Ebenen dran. Dann kannst du die 4 
LEDs einer Spalte UND einer Ebene schalten. Dann gehst du die Spalten 
durch. Wenn du durch bist, gehst du in die nächste Ebene und machst das 
gleiche nochmal.. Und so weiter. Du kannst aber da z.B. auch einen 
Treiber nehmen, der seine Ausgänge nach einen internen Speicher 
schaltet, den man über SPI/I²C (2 bzw. 3 Leitungsbus) beschreiben kann. 
Den richtigen gewählt, kann er auch schon gleich den Strom liefern, um 
die LEDs direkt anzusteuern.


scripter schrieb:
> Zur Programmierung:...

Ich würde mit kleinen Projekten wie Lauflicht und sowas und Assembler 
anfangen um ein bisschen Verständnis zu bekommen. Dein Cube kann man 
auch gut mit ASM programmieren. Danach, wenn auch etwas anspruchsvollere 
Programme werden, z.B. mit LCDs oder USB, dann sollte man schon auf C 
umsteigen und wenn man die Wahl hat und keine anderen Sprachen schon 
kann, würde ich auch immer C den Sprachen Basic, Pascal oder BASCOM 
vorziehen, weil viel mehr Support da ist und auch viel Libs da sind.


scripter schrieb:
> der Compiler CCX5 (?) ist ja auch in Ordnung.

Das hab ich zuerst auch gedacht;) Es funktioniert... Aber ich empfehle 
entweder den C-Compiler direkt von Microchip oder den mikroC Compiler 
von mikroelektronika, den ich benutze. Beide deutlich besser und 
übersichtlicher als cc5x (der auch nur Codebegrenzt kostenlos ist).


scripter schrieb:
> Kriegt man auch einen nicht-DIP-förmigen auf eine
> Steckplatte? (DIP = rechteckform?)

DIPs sind zwar rechteckig, SOIC, TSSOP aber auch.. DIPs oder DILs sind 
die großen Through-Hole Gehäuse. Through Hole -> Durchs Loch bedeutet 
also, dass diese Bauform Kontakte hat, die man durch die Platine stecken 
kann. Diese Kontakte sind in einem Abstand von 2,54mm (0,1 Inch), 
genauso wie die Löcher auf deiner Lochrasterplatine. Bei SOICs gibts 
glaube ich 2 verschiedene Pin-Abstände. Unter Anderem 1,27mm (die Hälfte 
von 2,54mm). Das kann man auf eine geätzte Platine ansich auch noch 
recht gut löten, nach ein bisschen Übung. Ein TQFN44 z.B. hat 0,8mm 
Abstand, die PIC32 gibts in TQFP64 mit 0,5mm und TQFP100 0,4mm Abstand, 
nebenbei ist so ein Kontakt von TQFP100 nur 0,18mm Breit. Ohne 
Erfahrung, Übung und Löthonig-artigem wird sowas meiner Ansicht nach 
nicht Möglich sein bzw. seehhhrr schwer und umständlich.

Um ein SOIC oder TQFP auf ein Lochraster zu bekommen, gibt es eben diese 
Breakout-Boards. Das sieht zB. so aus:
http://www.onlinetps.com/shop/index.php?main_page=product_info&cPath=66&products_id=614

Gibt es oft auch mit vorgelötetem IC, jedoch hat man dann bei µCs nicht 
soo die große Außwahl, da die PIC18F Familie ja schon mehrere 100 
unterschiedlichen Teile hat. Bei Microchip direkt weiß ich nicht, wies 
aussieht. Jedoch sind da knappe 25€ oder $ Versand nach Deutschland.

Deshalb würde ich dir stark empfehlen einen PIC18F zu benutzen (im DIP). 
Sollte es schneller anspruchsvoll werden, deine Lötkenntnisse aber noch 
kein TQFP zulassen, kannst du auch ein 16bit dsPIC im SDIP Gehäuse 
nehmen. Jedoch wirst du irgendwann nicht mehr um TQFP rumkommen. Also 
lieber eher üben als später. Doch da kannst du keine Lochraster mehr 
nehmen, es sei denn halt mit dem Breakout Board. Aber wenns dann schon 
anspruchsvoller werden soll, kann man sich auch eine Platine Layouten 
(siehe z.B. Eagle oder Target).

Kannst ja mal nach den gängigen Gehäusen bei Google Bilder suchen. Dann 
siehst du mal, wie die so aussehen:
DIP, SOIC, SOT23 (für kleine PIC10F, eher unwichtiger), TSSOP, TQFP. QFN 
und BGA sind dann schon ein wenig schwerer ;)

von scripter (Gast)


Lesenswert?

Vielen Dank für die ausführlichen Antworten.
Danke Bündner für den Link für PICKIT3 Debug Express. Ich habe das 
gleiche Produkt nur auf distrelec.ch und conrad.ch beidenorts für das 
Doppelte (!) (159.- statt 81.40) gesehen. Auf Ebay gibt es zwar nur den 
PICKIT3, der aber mit Versand auch auf 70.- kommt.
Ich werde mit diesem Kit versuchen ein Lauflicht zu machen und später 
vlt. auf den PIC32 umsteigen. Das Buch habe ich genau dasselbe schon 
gekauft, bin aber noch nicht so weit mit lesen.
Das Prinzip des multiplexing habe ich jetzt besser verstanden. Youtube 
und sonstige Websites (z.B. 
http://www.physlink.com/education/askexperts/ae430.cfm) helfen mir 
einiges weiter bezüglich den Transistoren.
Eine Frage hätte ich aber noch: Wie komme ich am besten an günstige 
(allenfalls RGB) LED? Es finden sich oft RGB LED die die Farbe 
selbständig wechseln und nur eine Anode und Kathode haben (bräuchte 
mindestens 4 Pins). Könnte man auch RGB LED's aus Lichketten 
herausnehemen, oder haben diese nur zwei PIN's (z.B. 
http://www.amazon.com/Flexible-changing-Ribbon-LED-2033RGB/dp/B002Q5HZZK/ref=lh_ni_t 
nur ist mir die Anzahl LED bzw. Länge unklar)? Eignen sich SMD LED für 
einen Cube?

@snowman: Woher aus der Schweiz bist du? :-)

von Master S. (snowman)


Lesenswert?

LEDs, PicKit etc. kaufst du am besten über eBay (schau unter ebay.com 
und nicht unter .de oder .ch - unter .com findest du auch angebote, die 
unter .ch/.de nicht gelistet werden und massiv günstiger sind z.b. 
gratisversand). ich wohne in der nähe von Winterthur

von scripter (Gast)


Lesenswert?

Das habe ich gemacht: 
http://cgi.ebay.ch/ICSP-Adapter-ZIF-Kit-w-PICkit-3-Development-Kit-/230485675798 
habe ich gekauft. Einen 8x8x8 RGB Cube wird also so oder so teuer. Bei 
Direktimport aus China bekommt man diese mit separaten Kathoden ab 0.59 
$ (http://ledz.com/?p=led.rgb unten pricelist), diese die selber 
Wechseln bringen mir ja nichts.
In Ebay habe ich nach erfolgloser Suche soeben dies gefunden 
(http://stores.ebay.ca/bestshop2008hk_5mm-4pin-RGB-Anode-Cathode-LED/_i.html?_fsub=800167010&_sid=708695360&_trksid=p4634.c0.m322) 
absoluter Bestpreis. Danke für eure Antworten.

von Christian W. (cweckmann)


Lesenswert?

Komplett ohne jegliche Erfahrung mit Elektrotechnik, Programmierung oder 
irgendwas relevantes einen LED-Cube machen zu wollen ist schon ein 
schwieriges Unterfangen.. Bist du dir wirklich sicher daß du da gleich 
einzeln ansteuerbare RGB-LEDs verbauen willst?

Du bist dir darüber im Klaren, daß du so noch zusätzlich einen nicht 
unerheblichen Mehraufwand betreiben musst?

Ich würde zum Verständnis wirklich erstmal ein Lauflicht oder allenfalls 
einen 3x3 Cube bauen, bevor ich mich mit hunderten Transistoren, LEDs 
und anderem ausrüste.
Es ist zwar interessant gleich mit etwas schwierigerem anzufangen, 
jedoch ist die Wahrscheinlichkeit des recht demotivierenden Scheiterns 
da recht hoch :/

Auf jeden Fall mal viel Glück weiterhin. Berichte mal, wie es weitergeht 
:)

von scripter (Gast)


Lesenswert?

Kann ich gerne machen...;-)
Ich habe nun das PICKit mit dem Demo Board. Ich habe es nun fertig 
gebracht, die Basis Demo laufen zu lassen, möchte nun aber versuchen den 
Code auf den Pc zu laden (Geht das, von microcontroller auf pc?). Mir 
ist auch nicht klar mit wieviel Strom ich den versorgen muss. Ich habe 
mal 3 V eingestellt, um sicher zu sein. Ist es möglich, wenn es heisst 
von 3V - 5V, den PIC mit einem LIPO-Akku der eine Ladung von <3V - 4.2V 
hat?
Gruss
Pat

von ich (Gast)


Lesenswert?

scripter schrieb:
> Ich habe nun das PICKit mit dem Demo Board. Ich habe es nun fertig
> gebracht, die Basis Demo laufen zu lassen,

Na also;)

scripter schrieb:
> möchte nun aber versuchen den
> Code auf den Pc zu laden (Geht das, von microcontroller auf pc?)

Du kannst den PIC-Speicher auslesen. Allerdings bringt das ansich 
nichts, denn das ist ja der Hex-Code, den du vorher reingeschrieben 
hast, somit sollte die Datei ja schon vorhanden sein. Abgesehen davon, 
müsstest du, um den Code wieder lesen zu können, das wieder 
disassemblen, was ansich auch geht, nur ist das Ergebnis meist alles 
andere als durchsichtig ;) Da du aber ja die ASM und evtl auch die 
C-Datei auf dem Rechner programmiert hast, ist das Auslesen (solange die 
Daten nicht verloren gegangen sind) meiner Meinung nach sinnlos.


scripter schrieb:
> Mir ist auch nicht klar mit wieviel Strom ich den versorgen muss.

Strom zieht er sich, soviel er braucht. Wieviel er braucht musst/kannst 
du ja ausrechnen, indem du guckst, was alles in der Schaltung ist und 
wieviel das alles zieht. Achte aber darauf, dass es bei µC's Grenzen 
gibt, die aber im Datenblatt stehen. Du kannst z.B. kein normalen Motor 
direkt da dran packen. Ansich zieht aber ein µC nicht zu viel Strom, 
dass das mit jedem Spannungsregler problemlos gehen sollte.


scripter schrieb:
> Ich habe mal 3 V eingestellt, um sicher zu sein.

Dir ist hoffentlich klar, dass 3V die Betriebsspannung ist und 
keinesfalls ein Strom ;)


scripter schrieb:
> LIPO-Akku der eine Ladung von <3V - 4.2V hat?

Ist immernoch die Spannung und deshalb auch keine Ladung ;)


Du musst bedenken, dass ein Highsignal an einem Ausgang so hoch ist, wie 
die Betriebsspannung. Da du aber, wie oben gesagt, nicht allzuviel Strom 
ziehen darfst (sonst wird er zu heiß -> Kaputt), musst du die LEDs vom 
Cube mit Transistoren ansteuern:
Christian Weckmann schrieb:
> bevor ich mich mit hunderten Transistoren, LEDs
> und anderem ausrüste.

Diese brauchen zum Schalten einen Strom und der wird mit der Spannung 
und dem Vorwiderstand berechnet. Selbst wenn du einen PIC hast, der von 
2V bis 5V geht, hast du bei 5V einen mehr als doppelt so hohen Strom wie 
bei 2V. Also treibst du den Transistor mit viel mehr Strom, als er 
eigentlich braucht, oder der Transistor schaltet nicht mehr richtig 
durch, wenn die Spannung abfällt.

Wenn du das gleiche Board hast wie ich (PIC18F45K20), ist dir 
hoffentlich klar, dass der nur bis Maximal 3,6V geht. Absolut Maximum 
ist glaube ich 4V, aber da sind deine 4,2V ja auch noch drüber. Ich 
würde daher (wenn es denn mit Akku sein muss) so ein länglichen 7,2V 
Akku nehmen, und dann mit einem 3,3V bzw. 5V Regler die Spannung für den 
µC bereit stellen.


Doch bei 8x8x8 LEDs = 512 LEDs a 15mA (ansich 20mA aber bei 15mA 
leuchten die auch noch recht normal hell) wären dass 512 * 15mA 7,68A 
für einfarbige LEDs. Da hält so ein Akku vielleicht ne halbe Stunde. 
Jetzt kannst du natürlich sagen, dass das ja nur ganz kurz 15mA sind, 
doch das stimmt nicht so ganz:

"Der verringerte Aufwand an Bauteilen kommt jedoch nicht ohne Nachteile. 
Da jede Spalte in einer Matrix mit N Spalten immer nur für 1/N der Zeit 
für einen vollen Bildaufbau aktiv ist, muss in dieser Zeit die gleiche 
Lichtmenge (=Energie) abgegeben werden, damit die genauso hell 
erscheint, wie wenn sie konstant mit Strom versorgt wird. Dazu muss der 
N-fache Strom fliessen. Demensprechend müssen die Vorwiderstände bzw. 
Stromquellen dimensioniert sein. Doch das führt zu zwei Problemen."
siehe LED-Matrix: http://www.mikrocontroller.net/articles/LED-Matrix

Du könntest auch sagen, dass ja nicht alle LEDs immer und gleichzeitig 
leuchten, aber ansich musst du dein Netzteil dafür auslegen (Tipp: z.B. 
PC-Netzteil oder Netzteil einer Konsole). Nicht, dass es bei einer 
bestimmten Anzahl von leuchtenden LEDs abfackelt.

Bei einem 8x8x8 RGB-LED Cube hast du ja pro RGB-LED eigentlich 3 LEDs 
(rot, grün, blau). Da kannst du dir dann Ausrechnen, wie weit du mit so 
nem Akku kommst und auch, wieviel Strom du brauchst. Und dann 
kannst/musst du dir ausrechnen, was du für eine Spannungsquelle 
brauchst, die das Packt. Du merkst, was die ca 5mA vom PIC gegen die ~ 
7680mA der einfarbigen LEDs sind ;)


Wie gesagt, das ist schon ein ordentliches Projekt, gerade mit RGB-LEDs.

Meine Tipps daher:
Nimm dein PIC und schreib erstmal ein billiges simples Programm zum 
leuchten oder sogar blinken lassen einer LED. Wenn das klappt, ein 
Lauflicht, vielleicht mit Taster, mit dem du die Richtung wechseln 
kannst. Danach irgendwann ein 2x2x2 oder 3x3x3 LED-Cube (kein RGB), mit 
dem du dann erstmal das System der Ansteuerung lernen kannst. 3x3x3 = 27 
LEDs mal 15mA sind 405mA, das selbst noch ein normaler 78xx Regler 
schafft.

Doch nebenbei gesagt, ich glaube du solltest dir auch mal die Grundlagen 
zur Elektrotechnik anschauen. Ist ja für ein Anfänger nicht schlimm, 
aber wer nicht weiß, wo der Unterschied von Spannung, Strom und Ladung 
ist, der weiß warscheinlich auch nicht, wie man ein Transistor 
beschaltet und was Strom und Spannung für Auswirkungen haben können, 
z.B. dass zu viel Strom aus einem µC den µC kaputt macht.

Ganz nebenbei:

scripter schrieb:
> Bei Direktimport aus China bekommt man diese mit
> separaten Kathoden ab 0.59$

bei 512 LEDs sind das 302,08$ -> 178,23€ + Versand und vorallem + 
Netzteil. Dann noch n Batzen Transistoren und Leitungen etc, wirst du 
nicht unter 250€ rauskommen denke ich. Dazu noch ordentlich Zeit, den 
Cube zu bauen und ordentlich Zeit, das Programm zu schreiben.

Grüße ;)

von scripter (Gast)


Lesenswert?

Die Demo ist ein Programm das bereits auf dem Microcontroller 
vorprogrammiert war. Von diesem wollte ich sehen, wie es gemacht wurde. 
Ich habe aber vermutet, dass das disassembling nicht wirklich 
erfolgreich sein wird. Ich werde mal versuchen ein einfaches Programm 
aus dem Manual zu schreiben.
Was Volt und Ampere ist, weiss ich eigentlich, auch, dass die Ladung des 
Akkus 5000 mA ist und die Spannung zwischen 4.2 V und 3 V. Ich weiss 
auch wofür Widerstände und Transistoren sind. Das Problem ist, dass mein 
Wissen bis jetzt ein wenig oberflächlich ist und das Ganze noch ein 
wenig theoretisch ist. Beispielsweise sollte ich mir die Formel für die 
Berechnung der Widerstände mal ansehen.
Als ich mir die Frage der Stromversorgung gestellt habe, erschien mir 
ein LIPO-Akku als einfachste Lösung. Sind Netzteile ab Stange 
erhältlich?
Ich wollte genau so vorgehen, wie du geschrieben hast. Von den RGB's 
habe ich mich verabschiedet - das wäre dann definitiv zu kompliziert. 
Der Preis der LED von 0.59 $ betrifft denn auch RGB's. Hier wären sie 
auch einiges günstiger: 
http://stores.ebay.ca/bestshop2008hk_5mm-4pin-RGB-Anode-Cathode-LED/_i.html?_fsub=800167010&_sid=708695360&_trksid=p4634.c0.m322
Es gäbe auch diverse andere LED. z.B.:
http://stores.ebay.ca/bestshop2008hk/3mm-Flat-Top-Green-LED-/_i.html?_fsub=1070587010&_sid=708695360&_trksid=p4634.c0.m322

Um die restlichen Bauteile habe ich bis jetzt noch nicht gekümmert. 
Sollte aber alles auf distrelec.ch erhältlich sein.

Gruss

von ich (Gast)


Lesenswert?

Das Programm, das auf meinem PIC war, gabs zum download auf der Seite 
bzw war auf der CD vom PICKIT3, wo das board dabei war. Da kannst du 
auch immer gut gucken.

Die Ladung wird in Coloumb angegeben. Die 5000mA sind warscheinlich 
5000mAh. D.h. du kannst eine Stunde 5A ziehen oder 5000 Stunden 1mA;)

Ein Akku als Stromquelle funktioniert natürlich, nur ist das halt 
komplizierter und umständlicher, wenn die Spannung immer kleiner wird 
und du irgendwann wieder Laden musst.
Deshalb würde ich zum entwickeln ein kleines simples Labornetzteil 
empfehlen, wo du die Spannung einstellen kannst. Wenn dein Projekt 
fertig ist, z.B. der Cube, dann kannst du nach nem Günstigen 
Steckernetzteil gucken, der z.B. 12V Ausgang hat. Das ist dann für 5€ 
eine fertige, funktionierende Spannungsquelle, die den Strom halt ausm 
Stromnetz zeiht und somit nicht aufgeladen werden muss.

Wie gesagt, erstmal klein anfangen und dann auf den cube hinarbeiten.

von scripter (Gast)


Lesenswert?

Hallo seit längerem wiedereinmal
Ich versuche gerade mein Demoboard mit DemoCode zu beschreiben. 
Verbindung funktionierte, es hiess aber Check you configuration bit. Nun 
bin ich auf der Such nach einem guten Manual bzw. Tutorial wie das Board 
programmiert wird. Auf der beiligenden CD gibt es nur Assembler Lessons. 
Dieses project habe ich dann von mplab geöffnet und wollte es über den 
debugger und dann über den programeer programmieren, doch das 
funktionierte nicht.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.