PIC IC

Alles rund um Computertechnik, LEDs, und und und....
Spider

PIC IC

Beitrag von Spider » Freitag 18. Juni 2004, 10:36

Hallo

Habe hier einige IC´s mit der Aufschrift PIC16C54-XT/P. Sie sind in Fernbedienungen us.w. zu finden. Sind das die Bauteile die für die Blinkelektronik in den Fahrzeugen verwendet werden ? Wenn ja, wie werden sie programmiert, bzw. wie sind die Schaltpläne dafür. Im voraus vielen dank.

MfG Spider

Fritz Ganter

Beitrag von Fritz Ganter » Freitag 18. Juni 2004, 11:30

Ich würde mir das nicht antun, Pics sind uncool. :-)

Nimm lieber Atmel, die haben viele Vorteile gegenüber Pics, werden auch öfter verwendet, d.h. du kriegst in den Foren eher Hilfe.

Die kannst du auch direkt in der Schaltung programmieren, du brauchst nur einen speziellen Stecker, der am Druckerport angeschlossen wird.

Programmieren kann man die in Assembler und in C, beides ist kostenlos erhältlich.

Auf http://www.ganter.at/elektronik siehst du z.B. eine LKW-Steuerung die ich grade entwickle (ganz unten, die letzten 4 Bilder).
Die externe Beschaltung sind nur Treibertransistoren damit ich grössere Lasten anhängen kann, eigentlich braucht man nur 2 Kondensatoren und 1 Widerstand als externe Beschaltung, sowie eine Stiftleiste wenn man bequem in der Schaltung programmieren will.

Programmieren muss man natürlich können oder lernen wollen.

Welche Atmel Controller es gibt siehst du auf http://www.atmel.com/dyn/products/devic ... ily_id=607
wobei bei den kleineren Sachen ein Mega8 reicht.

Sonst gibt es bei http://www.mikrocontroller.net ein gutes Forum zu diesem Thema.

Spider

Beitrag von Spider » Freitag 18. Juni 2004, 17:08

Hallo

@Wustsemmelmann

Das hört sich ja alles interessant an. Wie mache ich den Anfang. Was müsset ich mir dazu zulegen. wäre dir für ein paar Tips dankbar,

MfG Spider

Fritz Ganter

Beitrag von Fritz Ganter » Freitag 18. Juni 2004, 17:54

Das einfachste ist, du besorgst dir ein Experimentierboard von http://shop.mikrocontroller.net/, einfach auf AVR klicken.

Da bestellst die AVR Entwicklungsplatine (für ATmega8) und den AVR-In-System-Programmer und einen ATmega8 im DIL Gehäuse.
Damit kannst schon mal die ersten Versuche machen, eine Entwicklungsumgebung mit Assembler bekommst von der ATMEL Webseite.

Wenn du in C programmieren willst und Windows hast findest du den Compiler auf http://sourceforge.net/projects/winavr/, für Linux findest du die Anleitung auf http://www.nongnu.org/avr-libc/user-man ... tools.html

Zum flashen verwende ich Ponyprog (http://www.lancos.com/prog.html).

Wenn du einen ATtiny einsetzen willst dann kannst du nur Assembler nehmen, C geht nicht weil die kein RAM haben.
Die ATtiny können zwar weniger, aber sind kleiner, gibts z.B. in 8-pol. DIP Gehäuse.
Die ATmega fangen bei 28-poligen Gehäuse an, dafür hast bei einem Mega8 23 I/O Leitungen.

Die Schaltung auf meiner Webseite ist übrigens ein Mega8 im TQFP Gehäuse, momentan läuft seit 2 Tagen ein Programm das die LEDs als Lauflicht mit 2 Sekunden Pause leuchten lässt und nur mit 2 NiMH Akkus versorgt wird. Ich hätte nicht gedacht dass der mit 2.4 Volt noch läuft (ist nämlich der normale Typ, nicht der L-Type der für kleine Spannungen ausgelegt ist). Der Stromverbrauch beträgt bei 2.4 Volt nur 200µA (1MHz Takt), das lässt sich aber mit etwas Aufwand auf wenige µA reduzieren. Bei 5V braucht er ein paar Milliampere.

Das gute an den AVR ist dass die meisten Befehle in 1 Takt ausgeführt werden, d.h. bei 16MHz macht er bis zu 16 Mio. Befehle.

Und ganz wichtig, das Datenblatt zum Prozessor runterladen und lesen!

Frag mich aber bitte nix zu Windows oder Assembler, da will ich mich nicht auskennen.

Spider

Beitrag von Spider » Freitag 18. Juni 2004, 18:42

Hallo

Das habe ich soweit verstanden, was ich alles brauche. Was michjetzt noch interessiert ist:

1) hätte gerne ein bis zwei Bespielschaltungen zum aufbauen

2) das dazugehörige Programm dazu

muss beides nichts wildes sein, nur mal zum probieren wie das geht und mich dann mal selber versuchen.

Noch eine Frage im Experiementierboard mache ich meine Vesuche, brauche ich später auch so viele Teile um die Schaltung um zusetzen, z.B. als Blinklicht in einem Fahrzeug ?

Würde mich gerne ausführlicher mit dir darüber unterhalten. Denke wenn ich von dir etwas Einführungshilfe bekomme wird es für mich leichter.

MfG Spider

Fritz Ganter

Beitrag von Fritz Ganter » Freitag 18. Juni 2004, 19:19

Es kommt drauf an wie geschickt du bist. Ich bin Programmierer und hatte deswegen mit der Software keine Schwierigkeiten. Deswegen hab ich nur 2 Schaltungen mit dem Board gebaut, seitdem ätze ich gleich die Schaltungen und wenn ich einen Fehler gemacht hab mach ich halt eine neue (was kaum passiert). Ist im Endeffekt schneller als mit Drähten herumzulöten.

Für einfache Schaltungen brauchst du wie oben schon erwähnt nur einen Abblockkondensator und eine Resetschaltung bestehend aus 1 Widerstand und 1 Kondensator. Bei meiner Schaltung sind nur noch Treibertransistoren drin, da ich mehrere LED parallel schalten will und du pro Portpin nicht mehr als 20 mA treiben sollst. Wenn du in der Schaltung die Software ändern willst ist eine Stiftleiste praktisch.

Schau mal auf das Datenblatt vom Experimentierboard (http://www.olimex.com/dev/pdf/avr-p28b.pdf) da siehst du wie es beschaltet ist.

Die Schaltung besteht aus:
Stützkondensator für VCC (brauchst du)
Quarz + 2 Kondensatoren (brauchst du nicht)
RS232 Pegelwandler (brauchst du nicht)
Reset-IC (kannst mit Widerstand und Kondensator nachbauen, der Reset-IC lässt dich nicht unter ca. 4,5 V, sonst macht er ein Reset).
Spannungsregler (brauchst du nicht)
Stiftleiste zum Programmieren (solltest du brauchen).

Schwieriger als die Hardware ist das Programmieren, aber man braucht eh eine Wochenendbeschäftigung.

Spider

Beitrag von Spider » Samstag 19. Juni 2004, 11:40

Hallo

So bin soweit mir die Sachen zu bestellen. Möchte aber gerne noch wissen wie ich am besten beginnen soll wenn ich alles da habe, und suche daher so eine art Anleitugn oder Leitfaden wonach ich ich erst mal richten kann damit ich klar komme mit der neuen Materie. D.h. Ich habe die Hardware und die Software und meine Idee und nun muß ich sie umsezten. Am besten wäre ein Beispiel das ich dann um setzten und daraus lernen kann.

Ic hoffe ich habe mich nicht all zu umständlich ausgedrückt :)

MfG Spider

Fritz Ganter

Beitrag von Fritz Ganter » Samstag 19. Juni 2004, 11:54

du findest viel bei www.mikrocontroller.net

Auch Herr Google ist da hilfreich, such nach AVR.

Fang erst mal damit an ein paar LEDs an den Controller anzuschliessen und die zum Blinken zu bringen.

Benutzeravatar
Harry
Forumane
Beiträge: 2910
Registriert: Dienstag 4. Februar 2003, 12:27
Wohnort: Mache gern Urlaub an der NordOstsee
Kontaktdaten:

Beitrag von Harry » Donnerstag 24. Juni 2004, 19:15

Viel zuzufügen habe ich nicht, Wurstsemmelmann hat alles gut erklärt. Nur zwei Dinge:
Wurstsemmelmann hat geschrieben: Wenn du einen ATtiny einsetzen willst dann kannst du nur Assembler nehmen, C geht nicht weil die kein RAM haben.
Das ist so nur halb richtig:
Es gibt Tinys, die kann man mit dem kostenlosen C-Compiler programmieren, z.B. den ATtiny26. Bei dem ATtiny15 geht es aber tatsächlich nicht. Die teuren Compiler von IAR, Cosmic usw. können aber wahrscheinlich auch mit dem ATtiny15 umgehen, müsste man mal nachschauen.

Und: man muss nicht unbedingt ein Entwicklungsboard kaufen. Nimm einen ATtiny15, löte ihn auf eine Platine, eine oder mehrere LED dran, programmiert wird mit dem kostenlosen Programm von Joachim Aichinger (bitte googeln...). Die Summe der Kosten bewegt sich dann bei 10 Euro.

Viele Grüsse
Harry

PS:
Ich habe noch nirgends den Unterschied zwischen den ATtinys und den Megas gefunden, habe aber eine Vermutung: Die ATtinys können ohne Quarz laufen, da sie einen internen Oszillator haben.

Fritz Ganter

Beitrag von Fritz Ganter » Donnerstag 24. Juni 2004, 22:11

Du hast recht, einige gehen mit Compiler weil sie (wenig) RAM haben, ich wollte es nur nicht erwähnen, weil ich zu faul zum Suchen war. Aber gcc kann ihn nicht, deswegen ist er für mich uninteressant.

Interne Oszillatoren haben alle Megas, man braucht den Quarz nur wenn man eine genaue Zeitbasis braucht wie bei Uhren oder USART (RS-232).

Die Tiny können, je nach Typ, einfach weniger. Das ist ja das tolle an den Tiny, du kannst dir den raussuchen, der dir für deine Anwendung gerade ausreicht.

Bei den Portpins gehen sie von 6 bis max. 18, die Megas von 23 bis 54. Je nach Typ haben sie ein paar Features weniger, kein USART, weniger A/D-Wandler.
Bei den Megas sind eigentlich alle Features gleich, Unterschied ist hauptsächlich die Grösse von Flash/EEPROM/RAM und Anzahl der Portpins.

Ich schreibe eher grössere Programme (wobei ich mit Elektronik erst kürzlich wieder angefangen habe, und erst seit März Mikrocontroller programmiere), deswegen arbeite ich nur mit Megas.

Für meinen Wecker ist z.B. ein Mega16 das kleinste das geht, das Programm braucht ohne Akku-Schnelllader schon 12,5kB Flash und es soll noch viel rein. LCD-Display und Tastenfeld ansteuern ginge mit Tiny auch nicht. RAM brauche ich auch über 700 Byte, wobei ich echt jedes Byte spare und z.B. die Texte in den Flash lege.

Ich weiss die Einzelheiten über die Tinys und Megas nicht weil ich so klug bin, sondern einen gut versteckten Link gefunden hab:
http://www.atmel.com/dyn/products/param ... ection=ASC

Grad deswegen rausgesucht :-)

LG, Wurstsemmelmann

Fritz Ganter

Beitrag von Fritz Ganter » Donnerstag 24. Juni 2004, 22:22

Harry hat geschrieben:Joachim Aichinger (bitte googeln...).
http://jaichi.virtualave.net/atmel-e.htm

@Harry:

Ich könnte mit dem nix anfangen, falsches OS :-)

Hast du schon mal Ponyprog2000 probiert? Mir gefällt es recht gut weil es recht viel kann.
Hier der Link:

http://www.lancos.com/ppwin95.html

Ich verwende es aber kaum, weil ein "make program" schreibt das Programm mit avrdude ohne viel Klickerei.

LG, W.

Spider

Beitrag von Spider » Donnerstag 1. Juli 2004, 19:20

Hallo

@ Wurstsemmelmann

kennst du auch dieses Buch ??

http://www.amazon.de/exec/obidos/ASIN/3 ... 01-6594927

MfG Spider

Fritz Ganter

Beitrag von Fritz Ganter » Donnerstag 1. Juli 2004, 19:34

Nein, kenn ich nicht. Es gibt aber ein anderes recht gutes AVR-Buch. Wenns dich interessiert such ich mal welches das ist.

Spider

Beitrag von Spider » Donnerstag 1. Juli 2004, 19:55

Hallo

Ja das wäre nett.

Fritz Ganter

Beitrag von Fritz Ganter » Donnerstag 1. Juli 2004, 20:13


Spider

Beitrag von Spider » Donnerstag 29. Juli 2004, 18:27

Hallo

@ Wurstsemmelmann

Hallo Habe mir jetzt das Buch besorgt, AVR-RISC Mikrocontroller, von Trampert. Habe es bei Ebay einigermasen künstige erstanden. Muss aber sagen bin schon beim durchblättern erschlagen worden. Hast du das Buch ganz durch gearbeitet oder gibt es was man auslassen könnte ? :D

Ansonsten lese ich es ganz. Aber ob iches verstehen werde weiß ich wirklich noch nicht, ist ja eine ganz andere technische Richtung. Wir werden sehen.

Gruss Spider

Fritz Ganter

Beitrag von Fritz Ganter » Donnerstag 29. Juli 2004, 19:08

Hallo!

Ich hab dir das Buch empfohlen, weil es im Mikrocontrollerforum lobend erwähnt wurde. Ich habs selber nicht und habs auch nicht gelesen. Ich hab Mikrocontroller-Programmierung aus dem Netz und mit Datenblatt gelernt, hab auch einen Tag dafür gebraucht bis ichs beherrschte. Allerdings bin ich schon seit 17 Jahren C-Programmierer und da waren nur wenige neue Sachen zu beachten.

Lies halt die Einführung, und wenn du zum ersten Beispiel kommst, dann bau das nach und spiele dann damit herum. Durch probieren lernt man am meisten.
Ganz wichtig ist auch dass du dir das Datenblatt für den entsprechenen Prozessor runterlädst, da kannst dann immer nachschauen.

Wenn du dann z.B. Timer brauchst, liest halt das über Timer durch.

Am Anfang wirst halt nur Bahnhof verstehen, das legt sich aber :-)

Spider

Beitrag von Spider » Freitag 30. Juli 2004, 16:07

Hallo

@ Wurstsemmelmann

Sag mal, wo mit programmierst du ?

Habe an das STK500 gedacht oder ist das zu übertrieben ??

Gruss Spider

Fritz Ganter

Beitrag von Fritz Ganter » Freitag 30. Juli 2004, 18:37

Ich hab nur so eine kleine AVR-Entwicklungsplatine gekauft, die findest du auf http://shop.mikrocontroller.net/ (dann auf AVR klicken). Dazu noch den AVR-In-System-Programmer, obwohl man den auch selber bauen könnte. Ich wollte halt am Anfang nix riskieren.
Wenn die das STK500 nicht zu teuer ist: Es ist zum Lernen sehr hilfreich, man kann dann gleich loslegen. Also einfach empfehlenswert.

Wenn du in C programmieren willst, musst halt noch den WINAVR besorgen. Für Assembler ist glaub ich alles beim STK500 dabei, sonst von Atmel runterladen.
Beim STK500 hast du noch den Vorteil dass der verschiedene IC-Sockel hat, d.h. du kannst jeden AVR im DIL-Sockel programmieren.

Benutzeravatar
Harry
Forumane
Beiträge: 2910
Registriert: Dienstag 4. Februar 2003, 12:27
Wohnort: Mache gern Urlaub an der NordOstsee
Kontaktdaten:

Beitrag von Harry » Freitag 30. Juli 2004, 22:47

Moin Spider,

ich habe zu Beginn das AVR-Studio von Atmel und den Programmer von Johann Aichinger verwendet. Dazu eine kleine Platine gelötet mit einem ATtiny15 und ein paar LEDs drauf. Mit einer Investition von ca. 10 bis 15 Euro hat man alles, um zu beginnen. Assembler ist kostenlos im AVR Studion enthalten.


Zurzeit programmiere ich in C den ATtiny26 und den ATmega8. Als Compiler nehme ich WINAVR, zum Flashen immer noch das Tool von Johann Aichinger. Von den Kosten her war bis jetzt alles minimal, ein STK500 usw. ist nicht dringend notwendig.

Wenn Du unbedingt Geld ausgeben möchtest: nimm X32 als Editor. Das erleichtert das Kodieren ungemein.


Viele Grüsse
Harry

Antworten