Forum: Mikrocontroller und Digitale Elektronik Welcher Controller ?


von Maik (Gast)


Lesenswert?

Hallo,

ich habe vor, bzw. muß nen Controller für zwei Galvanometer 
zusammennageln. Mein Problem, ich habe nie was mit µControllern gemacht 
geschweigedenn in damit kompatiblem Sprachen was geschrieben, bin wohl 
eher n webdesigner...

Nunja, der Controller muß Datenvom PC entgegennehmen können und diese in 
nem EEProm speichern können. Die Daten enthalten lediglich 
X/Y-Koordinaten. Diese Daten müssen dann zur Laufzeit der reihenfolge 
nach an jeweils 8-Ausgänge übergeben werden. (0..255)
Spätere versionen sollen zudem auch noch n LCD-Display (2x20 Zeichen 
oder so) und n paar Tasten besitzen mit dem ich diverse "Programme" 
auswählen kann, also verschiedene Koordinatenpackete.

Meine Fragen:
Welcher µControler würde sich dafür am einfachsten machen?
Wie hoch wär der Programmieraufwand?
Was für COntroller gibt es neben dem AVR noch welche ebenfalls ISP sind?

Wie sind die Prozessoren der AT89C-Serie zu programmieren? Hab den Tip 
bekommen das man dort externen EEProm anschließen kann welcher dann die 
Daten vom PC speichert. Problem wird bei dem aber die programmierung 
sein, habe keinerlei Programmiergeräte...(deswegen ISP, und am besten 
mit so nem Easy-Programmierkabel wie der für die AVR's)

Wär nett wenn mir jemand Antworten geben könnte und würde..

Danke & Gruß,
Maik

von Holger Buss (Gast)


Lesenswert?

Hi Maik,

schau mal bei:
http://www.mikrocontroller.com
Das Board sollte ziemlich genau auf Deine Anforderungen passen. ISP und 
V24-Schnittstelle, EEprom, Lc-Display und Tasten usw....

Gruss,
Holger

von Maik (Gast)


Lesenswert?

Du, Danke für den Tip, ich habe auf der Seite n kurzen auszug über die 
Features des M16C62 gelesen, ich glaub den nehm ich auch, der hat schon 
zwei 8-Bit DAC an sich :). Gibt es irgendwo n Schaltplan für den 
Programmieradapter? Oder geht es einfach über einen Pegelwandler (für 
(RS232) und kann ich dann per Null-Modem an das Gerät? Wie sieht es dann 
aus wenn der Die Daten vom PC entgegen nehmen soll? Läuft dann sicher 
auch über diese Schnittstelle, aber wird dabei dann nicht auch das 
Programm ge- / zerstört?

Aber ich schau mal nach dem Board was Du meinst, vielleicht kann ich den 
Schaltplan ja so übernehmen wie er da ist...wenns einen gibt :)

Danke & Gruß,
Maik

von Maik (Gast)


Lesenswert?

Okay...ich gleub mit dem M16C62 laß ichs bleiben...der is mir ne nummer 
zu fett für das erste µController-Projekt...

Das AVR-Board auf der Seite die Du mir empfohlen hast, hat leider nur 
1x8 Ausgänge, ich brächte aber mindestens 2x8 Ausgänge...zwei Kanäle, je 
8bit breit...

Jemand ne bessere Idee ??
Hat vielleicht schonmal jemand was mit dem M16C62 gemacht? welcher von 
dem breiten Sortiment wär da der beste? Auf 
http://www.mikrocontroller.com steht was von BootCode ist schon drin, 
und man könnte den Easy über die Serielle programmieren. Hat jemand 
schon irgendwelche Schaltpläne mit denen ich mich erstmal vertraut 
machen kann damit ich die Schaltung dann auch richtig entwerfen kann?

Wär nett !!!

Danke & Gruß,
Maik

von Maik (Gast)


Lesenswert?

na Hallo ??

will mir denn keiner n paar Tips geben?

Ich suche irgendnen Controller der
- ISP fähig ist, ohne irgendwelche EPROM's brennen zu müssen
- minimum 16 I/O-Lines
- genug Platz hat um Wertpaare die vom PC geschickt werden zu speichern, 
und mit ihnen zu arbeiten

Veilleicht kann mir Andreas Auskunft geben, scheint ja schon ne Menge 
Erfahrungen mit den verschiedensten Controllern gemacht zu haben....

Ich habe mir das Datenblatt vom MC16C62 angesehen, ich denke das er in 
meinem Projekt alles meistern kann was ich von ihm verlange...nur ist 
dieser auch ISPfähig? Gibt es für diese Controllerserie irgendwelche 
Beispielschaltpläne, und Schaltpläne für die Beschaltung des 
ISP-Adapters ????

Helf mir bitte ich möchte langsam damit anfangen...

Danke & Gruß,
Maik

von Lanius (Gast)


Lesenswert?

>Helf mir bitte ich möchte langsam damit anfangen...

kannst doch anfangen zu suchen :)

DS89C420 hat 16K Flash, einfach zu programmieren. Hat aber kein internes 
EEPROM.
Nimm doch erstmal einfach einen AVR, es gibt soooo viele Möglichkeiten 
dein Projekt umzusetzen.

von Maik (Gast)


Lesenswert?

Hallo,

gesucht hab ich schon wie n irrer, und bis auf den MC16C/62 (80) nichts 
passenderes gefunden. AVR's haben bis auf die Mega-Serie nich genügend 
Ein- und Ausgänge...

Den DS89C420, man kan an ihm aber sicher externen EEPROM anschließen, 
wie groß kann der sein? Oder liegt das dann an meinem Programm? Wo finde 
ich n Datenblatt für diesen Controller? Bei Farnell habe ich nix 
gefunden. Oder ist das ein AT89C-Derivat?

Danke & Gruß,
Maik

von Andreas S. (andreas) (Admin) Benutzerseite


Lesenswert?

16 IOs ist doch bei den AVRs kein Problem... der 8515 hat 32 Stück.

von Maik (Gast)


Lesenswert?

16 Pins für die beiden D/A-Wandler, 7 Pins für die Tastaturmatrix, mind. 
7 pins für das Display, nochmal 4 Pins für einen Schrittmotor, 6 Pins 
für drei PWM-Steuerungen und noch ein Pin um den Laser ein und 
ausschalten zu können.

Das wären also 41 I/O-Pins die ich minimum benötigen würde. Hinzu kommen 
dann allerdings noch irgendwelche Status-LED's. Mit irgendwelchen 
I/O-Expandern will ich aber nicht erst anfangen. I2C wär noch ne Lösung, 
aber ich will es nicht allzu aufwendig machen...zumal ich mich nicht 
erst noch mit irgendwelchen extras beschäftigen will da ich erst in 
diese Welt einsteige...

Ich denke auch das ein Eval-Board zu Lern und Testzwecken angebracht 
wär....
Hat vielleicht jemand n Schaltplan für dieses EvalBoard was es für den 
M16C/XX gibt? Ich wär dankbar...

Gruß,
Maik

von Lanius (Gast)


Lesenswert?

>Den DS89C420, man kan an ihm aber sicher externen EEPROM >anschließen, wie groß 
kann der sein?

groß genug :) (64kB oder mehr mit Bankswitching, serielle Eproms gehen 
natürlich auch.)

>Wo finde ich n Datenblatt für diesen Controller?

www.maxim-ic.com

>Bei Farnell habe ich nix gefunden.

ist warscheinlich immer noch nur als Sample erhältlich, habe auch noch 
keinen bei den Versendern gesehen

>Oder ist das ein AT89C-Derivat?

ist ein sehr schneller 8051, 33Mhz Takt ungeteilt

von Maik (Gast)


Lesenswert?

So okay, ich laß mir jetzt von Maxim 2 Samples zukommen...
habe mir auch gleich 2 von diesen 4Wire I/O-Expandern bestellt (samples) 
mal schauen wie weit ich damit komme. Aber wie gesagt, 41 I/O-Lines 
benötige ich mindestens...

Ich werd dann erstmal versuchen n Eval-Board mit dem DS98C420 
aufzubauen, und werd damit rumspielen. Wenns nix wird werd ich halt doch 
in dem sauren Apfel beißen und mir den M16C besorgen.

Ich denke mal das es keine allzugroßen unterschiede bei der 
Programmierung gibt...

bis später...
Gruß,
Maik

von Lanius (Gast)


Lesenswert?

>2 von diesen 4Wire I/O-Expandern

welche denn?

>wie gesagt, 41 I/O-Lines benötige ich mindestens...

Bei den DA-Wandlern könnte man bestimmt schonmal 13 Leitungen einsparen 
wenn man nen Wandler mit seriellem Eingang nimmt.

Kannst aber auch zB nen 8255 anschliessen, bringt 32 I/O Leitungen.

von Maik (Gast)


Lesenswert?

>>2 von diesen 4Wire I/O-Expandern

>welche denn?

den MAX7301

>Bei den DA-Wandlern könnte man bestimmt schonmal 13 Leitungen einsparen wenn man 
nen Wandler mit seriellem Eingang nimmt.

ist denkbar, aber das Programm wird dadurch auch umfangreicher denke 
ich, paralell brauch ich die X/Y-Werte nur so wie sie sind auf die Ports 
rasuzuschieben (binär)...

den 8255 hab ich auch da, wollte damit mal n I/O-Expander für den PC 
bauen, daraus ist aber nie wirklich was geworden...
Aber muß ich das Teil dann nicht auch noch irgendwie parametrieren, 
Addressen zuordnen etc...?

Ich würd nur gern an umständlichkeit sparen wollen, da ich nie nen 
Controller programmiert habe, und ich kann ja nicht verlangen das mir 
irgendwer von euch das Programm zusammenstrickt für mich...

Gruß,
Maik

von Lanius (Gast)


Lesenswert?

>den MAX7301

den kannte ich noch garnicht, dabei kenne ich die Daten-CD von Maxim 
fast auswendig :)

Sieht sehr interessant aus! Danke für den Tip :)

>aber das Programm wird dadurch auch umfangreicher denke ich

dafür wird das Layout viel einfacher. Könntest zb einen MAX525 nehmen 
und am 2. UART des 89c420 im Mode 0 betreiben, ist eigentlich ganz 
einfach. Willst du eigentlich in C oder Assembler programmieren?

>den 8255 hab ich auch da, wollte damit mal n I/O-Expander für >parametrieren, 
Addressen zuordnen etc...?

ja, die Hardware wird viel aufwendiger! Dann brauchst du Adressdecoder, 
Adresslatch usw.

von Maik (Gast)


Lesenswert?

>Könntest zb einen MAX525 nehmen und am 2. UART des 89c420 im Mode 0 betreiben, 
ist eigentlich ganz einfach..

Mal Datenblatt anguggn :)

>Willst du eigentlich in C oder Assembler programmieren?

Weiß ich noch nicht g.
Laut nem Kollegen würde sich C einfacher zu erlernen machen, n Bekannter 
meinte wiederrum das ASM der Turboloader wär und ich sehr hardwarenah 
arbeiten kann...wofür ich mich entscheide weiß ich noch nicht. Aber 
sicherlich wird die Entscheidung erstmal auf C fallen. PHP kann ich ganz 
gut, und laut dem Kollegen ist die Syntax in weiten Teilen gleich...Wird 
sich aber alles zeigen wenn ich mit dem DS89C n Eval-Board aufgebaut 
habe...

Gruß,
Maik

von Peter (Gast)


Lesenswert?

Die Ports kann man aber auch mit einer beliebigen Anzahl von 74HC595 und 
74HC165 beliebig erweitern. Dazu braucht man keine teuren und exotischen 
Spezial-ICs. Aber wenn's nicht gerade ultraschnell gehen muss, würde ich 
sowieso zu Wandlern mit SPI/Microwire Schnittstelle greifen.
Ach ja, was die Samples von Maxim betrifft, erstens fehlt i.d.R. bei 
mehreren ICs sowieso  immer einer (i.d.R. der teuerste) und dann werden 
die Teile grundsätzlich im kleinsten Gehäuse geliefert, dass es für den 
betreffenden Baustein gibt. Kauf dir also schon mal so eine 5W 
Lötstricknadel und eine grosse Flasche Wodka für die Hände 
ruhigzustellen ;-)

Gruss,

Peter

von Maik (Gast)


Lesenswert?

lol

Wodka und sticknadel....nenee...hab ne Ersa-Lötstation und ne Lödnadel, 
und für die kleinen IC's auch Flußmittel...zur not könnt ich auch noch 
mit heißluft arbeiten...

Aber wenn eh einer fehlt...auch egal..wenn man nix bezahlt für die die 
kommen sols mir wurscht sein. Kann man dann ja immernoch auf was anderes 
zurückgreifen.

Mir klebt immernoch der M16C im Auge...find aber nirgendwo fertige 
Applikationen (Schaltpläne, Programme etc..) aus denen ich Schlauer 
werden könnte...

Naja ma guggn,

Gruß,
Maik

von Peter (Gast)


Lesenswert?

> Aber wenn eh einer fehlt...auch egal..wenn man nix bezahlt für die die kommen 
sols mir wurscht sein. Kann man dann ja immernoch auf was anderes zurückgreifen.

Ist schon klar, einem geschenkten Gaul ...

> Wodka und sticknadel....nenee...hab ne Ersa-Lötstation und ne Lödnadel, und für 
die kleinen IC's auch Flußmittel...zur not könnt ich auch noch mit heißluft 
arbeiten...

Ach ja, a propos "heisse Luft", hier in dem Forum wird ja immer gerne 
viel erzählt. Ich würde doch mal gerne denjenigen sehen, der ein 
SSOP-Gehäuse mit 1/40 inch Pinabstand (0,63mm) noch mit einer Lötnadel 
von Hand festgepappt bekommt. Bei einem SOP mit 1/20 inch (1,27mm) geht 
das ja noch aber alles was da drunter ist, da braucht man schon 
Heissluft o.ä. Spezialgeräte.

Über den M16C kann ich leider nichts erzählen, den kenne ich auch nur 
vom Papier her. Aber was die Diskussion um Assembler und C betrifft, 
würde ich schon eher zu C raten. Es mag zwar seltene Situationen geben, 
wo man um ein paar Zeilen Assembler nicht drumherum kommt (ist mir aber 
noch nie passiert), aber grundsätzlich optimiert ein heutiger guter 
Compiler so effektiv, da hat selbst ein guter Assembler-Programmierer 
Schwierigkeiten um das so optimal hinzubekommen. Ich denke, man kann C 
ruhigen Gewissens empfehlen.

Gruss,

Peter

von Andreas S. (andreas) (Admin) Benutzerseite


Lesenswert?

Habe schon QFP48 (0,5mm Pinabstand) mit nem ganz normalem Ersa Multitip 
15W gelötet, wo ist das Problem?

von Markus (Gast)


Lesenswert?

Was das angeht hab ich auch schon QFP100 (0,5mm) mit einem 70W 
Lötkolben, 2mm Spitze und 1mm Lot auf ne Platine gebracht und der hat 
danach sogar noch funktioniert. Aber ich kann mir was schöneres 
vorstellen. Und ohne Lötstop will ich sowas erst gar nicht probieren.
Hab auch schon mal versucht mit Lötpaste und einem speziellen 
Heißluftlötkolben zu arbeiten. Aber ich muß sagen dann ist mir ein 
vernünftiger Handlötkolben immer noch lieber.
Das wichtigste beim SMD Löten sind zwei Dinge: Lötstoplack und 
Flußmittel.
Beides erleichtert SMD Löten enorm. Die Besten Erfolge hatte ich als ich 
vor dem Löten mit Lotpaste die Pads leicht eingestrichen habe und dann 
mit einem Kolben mit feiner Spitze und 0,5mm Lot jeden Pin einzeln 
angelötet hab. Einziger Nachteil ist die Sauerei durch das Flußmittel. 
Aber das kann man mit Lösungsmitteln abbekommen. Ich hab mangels 
Verfügbarkeit immer Spiritus genommen. Es gibt aber besseres.

Ich glaub zwar das war nicht ganz das ursprüngliche Thema, aber 
vielleicht helfen die Tips ja dem einen oder anderen.

Gruß
Markus

von ERDI - Soft (Gast)


Lesenswert?

Hi,

für SMD-ICs mit vielen Pins gibts ne spezielle Lötspitze. Die hat einen 
kleinen Lotvorrat und ist ziemlich dick.
Man justiert das IC, heftet es an, bestreicht alle Pins mit Flußmittel, 
füllt das Reservoir der Lötspitze mit Lötzinn und zieht den Lötkolben 
einfach komplett über alle Pins. Fertig. Super Lötstellen, sehr schnell 
und geht auch ohne Wodka.
Die Lötspitze gibts z.B. von Pace und hat die Nummer 0610. Vielleicht 
weiß ja jemand den Namen dieser Spitze.
Ist auf jeden Fall ein klasse Teil.


Bis denn, ERDI - Soft.


P.S.: Damit lassen sich übrigens locker QFP mit 240 Pins löten. Und das 
sogar ohne Lotbrücken. (Allerdings sollte man dann schon Lötstoplack 
haben. Obs auch ohne geht, kann ich nicht sagen.)

von Markus (Gast)


Lesenswert?

Das Prinzip mit dem Drüberziehen mach ich auch wenn ich mit einer 2mm 
Spitze Löte. Dann führe ich einfach mit Lötdraht Zinn hinzu. Geht 
vielleicht nicht ganz so gut, aber es funktioniert auch. Aber auch dabei 
ist Flußmittel am wichtigsten. Wenn die Lötstelle zu "trocken" ist gibts 
Brücken die man kaum weg bekommt.
Lieber erst mal zuviel Flußmittel drauf und danach wieder wegmachen. 
Davon kann der Controller nicht kaputt gehen.

Gruß
Markus

von Andreas S. (andreas) (Admin) Benutzerseite


Lesenswert?

Die Brücken bekommt man relativ gut mit Entlötlitze weg. Man muss nur 
aufpassen dass man damit nicht zu lange am IC "rumbrät".

von Peter (Gast)


Lesenswert?

Also ich habe auch schon Leute beobachtet, die so etwas gelötet haben. 
Aber diese Geschichten würde ich nicht als Löten, sondern eher als 
Rummurkserei bezeichnen. Ganz wie Andreas sagt, erst mal gut etwas 
draufschmieren und dann mit viel Flussmittel und evtl Lötsauglitze die 
Brücken wegmachen. Naja, ist vielleicht auch Ansichtssache. Wie heisst 
es so schön, der Zweck heiligt die Mittel.

Gruss,

Peter

von Andreas S. (andreas) (Admin) Benutzerseite


Lesenswert?

Ich löte SMDs ganz normal, und falls mal eine Brücke vorkommt wird sie 
mit Lötsauglitze weggemacht. Du lötest lieber überhaupt kein SMD, weil 
dir die Methoden nicht heilig genug sind, habe ich das richtig 
verstanden? Who cares wie es gelötet wurde, solange es danach 
zuverlässig funktioniert?

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.