Microkontroller oder konventionell?

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: 27 5 2024  17:58:18      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

Gehe zu Seite ( 1 | 2 | 3 | 4 Nächste Seite )      


Autor
Microkontroller oder konventionell?

    







BID = 890653

Otiffany

Urgestein



Beiträge: 13751
Wohnort: 37081 Göttingen
 

  


Ich möchte zwei Hubmagnete ansteuern, die über eine Lichtschranke mit Lochscheibe betrieben werden sollen.
Folgende Funktionen werden gefordert: Ansteuerung mit einem Impuls von der Lichtschranke zieht Magnet 1 für eine kurze einstellbare Zeit an, beim zweiten Impuls zieht der zweite Magnet in gleicher Weise kurz an. Die Magnete stehen sich gegenüber und die Anker sind miteinander mechanisch verbunden. Über zwei Federn werden sie bei fehlender Spannung in eine Mittelstellung bewegt. Es soll dazu dienen, bei einer Korbspulenwickelmaschine die Drahtführung zu übernehmen.
Das wäre noch nicht das Problem, aber ich möchte, daß ich die Anzahl der Impulse (höchstens 9) vorwählen kann bis der jeweilige Magnet anzieht.
In der Praxis sehe das so aus, daß z.B. 6Impulse ohne Reaktion bleiben und der 7 Impuls den Magnet 1 kurz anziehen läßt, um dann wieder 6 Impulse abzuwarten, um dann den Magnet 2 anziehen zu lassen.

Meine Frage:
Was ist in diesem Fall günstiger, die Schaltung mit herkömmlicher Technik (4013, 4017, NE555 und Vorwahlschalter) aufzubauen, oder bringt es Vorteile, einen Microkontroller zu programmieren?

Gruß
Peter

[ Diese Nachricht wurde geändert von: Otiffany am 16 Jun 2013 23:46 ]

BID = 890654

Kleinspannung

Urgestein



Beiträge: 13344
Wohnort: Tal der Ahnungslosen

 

  


Zitat :
Otiffany hat am 16 Jun 2013 23:45 geschrieben :


Was ist in diesem Fall günstiger, die Schaltung mit herkömmlicher Technik aufzubauen, oder bringt es Vorteile, einen Microkontroller zu programmieren?

Ich sag mal so:
Noch vor zwei/drei Jahren hab ich auch versucht alles mögliche mit irgendwelchen IC-Gräbern zu realisieren,weil ich um µC und programmieren einen Bogen gemacht habe wie der Teufel um das Weihwasser.
Seit ich aber wenigstens ansatzweise rudimentär programmieren kann,staunt man immer wieder,wie flexibel man mit so einem kleinem Käfer werden kann.
Erstens minimiert sich der Bauteileaufwand,und zweitens wenn einem irgendwelche Parameter nicht passen,steckt man den µC halt wieder ins Board,ändert das Programm und startet einen neuen Versuch.
Gerade wenn es um Impulse zählen und deren Verarbeitung geht,ist ein so ein Microprofessor geradezu prädestiniert.
Ist zwar vielleicht nicht gerade erste Wahl als erstes Programmieranfängerprojekt,aber spätestens wenn man so Sachen wie setzen von I/O Pins,Timer/Counter,ADC und IRQ draufhat,sollte dein Vorhaben kein unüberwindliches Problem mehr darstellen.


_________________
Manche Männer bemühen sich lebenslang, das Wesen einer Frau zu verstehen. Andere befassen sich mit weniger schwierigen Dingen z.B. der Relativitätstheorie.
(Albert Einstein)

BID = 890657

perl

Ehrenmitglied



Beiträge: 11110,1
Wohnort: Rheinbach

Einfacher gehts das mit dem µC, vor allem wenn noch nicht alle perfekt durchdacht ist und nachher noch irgendwelche Zusatzfunktionen oder Verzögerungen hinzugefügt werden müssen.

Wenn alles passt, dann leg dir noch ein oder zwei programmierte Exemplare als Reserve hin, denn wenn es in ein paar Jahren vielleicht Probleme gibt, dann gibt es diesen Typ evtl. nicht mehr, oder du kannst ihn nicht mehr programmieren, weil am neuen PC die alte Schnittstelle fehlt oder sonst etwas in dieser Art.

BID = 890667

Otiffany

Urgestein



Beiträge: 13751
Wohnort: 37081 Göttingen

Ich sollte vielleicht noch erwähnen, daß ich die Steuerung nicht vom PC aus machen will, sondern über den erwähnten Stufenschalter, denn die ganze Steuerung soll in einem kleinen Gehäuse verschwinden. Wie funktioniert das mit dem Professor?

Gruß
Peter

BID = 890683

Kleinspannung

Urgestein



Beiträge: 13344
Wohnort: Tal der Ahnungslosen


Zitat :
Otiffany hat am 17 Jun 2013 09:27 geschrieben :

sondern über den erwähnten Stufenschalter.... Wie funktioniert das mit dem Professor?

Mit wenig Kenntnissen und wenigen Stufen mach ich das z.B. so:
Mit Stufenschalter und ein paar Widerlingen bau ich einen Spannungsteiler.
Selbiger kommt dann an einen Eingang vom ADC,welcher im Programm zyklisch abgefragt wird.
Und da je nach Schalterstellung die abgefragten Spannungswerte unterschiedlich sind,kann man dann im Programm unterschiedliche "Reaktionen" hervor rufen.
Da der ADC aber nur Spannungen bis max. 5V verträgt,ist die Anzahl der Stufen die unterschieden werden können zwar etwas begrenzt,aber so 8-10 sind ohne großen Aufwand machbar.

_________________
Manche Männer bemühen sich lebenslang, das Wesen einer Frau zu verstehen. Andere befassen sich mit weniger schwierigen Dingen z.B. der Relativitätstheorie.
(Albert Einstein)

BID = 890685

Her Masters Voice

Inventar


Avatar auf
fremdem Server !
Hochladen oder
per Mail an Admin

Beiträge: 5307
Wohnort: irgendwo südlich von Berlin

das war schonmal ein guter Lösungsansatz. Die µControllerversion hat den Vorteil mit verhältnismässig wenig Aufwand erweitert werden kann. So könnte man Tasten und ein Display dazutun und mit den Tasten die Anzahl einstellen. Wenns ein Stufenschalter sein soll wäre auch ein Drehencoder möglich.

BID = 890687

Deneriel

Schriftsteller



Beiträge: 981
Wohnort: Westmünsterland
ICQ Status  

Grundsätzlich ist so nen µC nichts anderes als ein Mikroprozessor, der Recheneinheit, Arbeitsspeicher, Programmspeicher und z.T. Peripheriebausteine bereits integriert hat.
Da gibts von vielen Herstellern unterschiedliche Familien, im Hobbybereich sind aber Atmel AVR und Microchip PIC ziemlich weit vorne dabei, weil billig und einfach zu benutzen.

Um da was anzuschließen kannst du im simpelsten Fall die einzelnen I/Os setzen bzw. auslesen. Manche davon sind mehrfach belegt und können anstelle des digitalen I/O auch Funktionen wie A/D-Wandler oder PWM Ausgang übernehmen. Oft sind auch diverse serielle Schnittstellen wie UART, SPI oder I²C integriert.
Dazu gibts dann nen Haufen Register, Timer und Interrupts um auf Ereignisse zu reagieren und das Zeug zu steuern.

Als Betriebsspannung sind 3,3 und 5V gängig, viele Chips können aber auch mit einem größeren Spannungsbereich umgehen. (AVR je nach Takt und Modell zwischen 1,8 und 5,5V.) Die spucken dann TTL-kompatible Pegel aus die man direkt weiter verwursten kann, oder z.b. mit nem MAX232 auf klassische V.24 umsetzen.
Die Leistung reicht dabei aus um LED oder Kleinsignalransistoren direkt anzusteuern. Aus dem Kopf wären das beim AVR 20mA pro Portpin, bzw. 200mA für den ganzen Chip - kann mittlerweile auch mehr sein.

Programmiert werden die Dinger per SPI-Schnittstellenadapter, wahlweise auch InCircuit. D.h. du musst lediglich dafür sorgen, dass nix kaputt geht wenn auf ein paar bestimmten Leitungen die Bits fröhlich wackeln. Bei nem größeren Chip kannste die vermutlich einfach frei halten. Der EPROM-Brenner kann also in der Schublade bleiben.
Als Programmierinterface gibts diverse Low-Cost-Teile ab ca. 20€, der kleine original-Adapter liegt bei 30-40. Eval-Boards sind etwas teurer, wenn man sie denn braucht.

Als Programmiersprachen stehen Assembler, C, oder ein Basicdialekt zur (kostenlosen) Verfügung. Wenn man das noch nicht kann, muß man es natürlich lernen.


Du kannst die Steuerung natürlich auch als TTL-Grab fädeln. Vermutlich dauert es auch nicht länger, denn in die Mikrocontrollerprogrammierung muß man sich halt erstmal eingraben.
Im Ergebnis erhält man dafür aber eine sehr flexible und erweiterbare Steuerung.
Du brauchst noch einen Zähler für die Umdrehungen und eine Anzeige? Ok, da kann man nen paar Zähler-ICs, und BCD-7Segment-Decoder anschließen. Oder man hängt die Anzeige einfach an einen Ausgang vom AVR. 7 Leitungen plus Spaltentreiber.
Mehr Informationen gewünscht? Standard Text-LCD mit 2x16 Zeichen für 6,90 genommen (oder größer), an einen Ausgangsport (8bit breit) angeschlossen und mit den Daten gefüttert.
Möchtest du die Drahtführung für 4lagige Spulen erweitern? Nimm nen Servomotor und steuere den einfach per PWM an.
Für die Einstellung kannst du nen Drehencoder anschließen und auswerten. Damit ist man dann auch nicht in der Schrittweite beschränkt und die kannst unterschiedliche Spulenkörper benutzen.

Also ein klares Votum pro Mikrocontroller. Bis das läuft, wirst du allerdings einen gewissen Lernprozess in Kauf nehmen müssen.


Tante Edit(h) meinte noch:
Es gibt eine Anwendung wo die klassische Technik ggü. dem µC deutlich im Vorteil ist: Wenn irgendwas definitiv funktionieren soll und nicht abstürzen darf - dann nehm ich nen analogen Regelkreis her Man kann z.b. Netzteile bauen in denen der µC direkt die Endstufe steuert. Das mache ich aber lieber analog, und der µC gibt nur Sollwerte vor. Wenn der dann mal im Programm hängen bleibt weil ich Grütze programmiert habe und eine Situation nicht berücksichtig, passiert nichts weiter. Ein dauerhaft voll durchgeschaltetet Endstufentransistor wäre an der Stelle ärgerlich bis fatal.


[ Diese Nachricht wurde geändert von: Deneriel am 17 Jun 2013 13:04 ]

BID = 890699

perl

Ehrenmitglied



Beiträge: 11110,1
Wohnort: Rheinbach


Zitat :
ch sollte vielleicht noch erwähnen, daß ich die Steuerung nicht vom PC aus machen will,
Das habe ich auch nicht gemeint, sondern daß der Einsatz von µC potentiell unreparierbare Geräte hervorbringt, wenn man nicht rechtzeitig für Ersatzteile gesorgt hat.

BID = 890740

BlackLight

Inventar

Beiträge: 5236

Wenn danach noch weitere Projekte anstehen würde ich µC sagen. Sonst das was man lieber mag.

Wenn man schon irgendwie programmieren kann oder mal programiert hat (Basic, Pascal, Java, C ...) würde ich eine entsprechende Entwicklungsumgebung wählen. Lindert den "Kulturschock".
(Von Assembler rate ich für den Einstieg ab. Kann man sich später immer noch teilweise aneignen.)

BID = 890749

Otiffany

Urgestein



Beiträge: 13751
Wohnort: 37081 Göttingen

Da ich eine schnelle Lösung suche und der Lernaufwand zum erlernen des Programmierens mir nicht mehr Zeitgemäß erscheint (ich bin 72 Jahre alt), werde ich wohl doch zur herkömmlichen Methode greifen, zumal die gewollte Funktion nicht mehr in Frage gestellt wird und für alle Zeit so bleiben soll. Ich habe auch kein Platzproblem und die angedachten ICs werde ich auch noch in zehn Jahren bekommen. Trotzdem danke ich allen, die sich Gedanken gemacht und mir in meiner Entscheidung geholfen haben.

Gruß
Peter

BID = 890752

perl

Ehrenmitglied



Beiträge: 11110,1
Wohnort: Rheinbach


Zitat :
und der Lernaufwand zum erlernen des Programmierens mir nicht mehr Zeitgemäß erscheint
Nun ja, zur Entwicklung eines funktionierenden IC-Friedhofs braucht es auch einiges an Gehirnschmalz.

Ist das denn wirklich durchdacht?
Dies:

Zitat :
zieht Magnet 1 für eine kurze einstellbare Zeit an, beim zweiten Impuls zieht der zweite Magnet in gleicher Weise kurz an. Die Magnete stehen sich gegenüber und die Anker sind miteinander mechanisch verbunden. Über zwei Federn werden sie bei fehlender Spannung in eine Mittelstellung bewegt.
lässt mich etwas zweifeln, denn dann wäre die Stange ja während der meisten Zeit in der Mittelstellung.

BID = 890757

BlackLight

Inventar

Beiträge: 5236


Zitat :
Otiffany hat am 17 Jun 2013 23:39 geschrieben :
[...] der Lernaufwand zum erlernen des Programmierens [...]
Also wirklich programmieren ist es nicht. Man sucht sich im Netz die passenden Code-Blöcke und baut darum sein Programm auf.

Hier aus meinem aktuellen Projekt mit dem ATMega8, Ausgänge und ADC verwendet man so: (Nutze C im AtmelStudio 6)


Code :

// PC3 & PC4 als Ausgang definieren:

DDRC |= (1 << DDC3) | (1 << DDC4);

// PC3 & PC4 auf "0" setzten
PORTD &= ~( (1<<PD2) | (1<<PD3));

// PC3 & PC4 auf "1" setzten
PORTC |= (1<<PC5) | (1<<PC4);


// ADC festlegen:
ADMUX=0x02; // ADC Ref auf Avcc, PC0 gewählt, normale Formatierung
ADCSRA=0x86; // ADC eingeschaltet, 64er Prescale

// Fehlt noch das Auslesen des ADC:
ADCSRA |= (1<<ADSC); //Single Conversion Mode ein
while(ADCSRA & (1<<ADSC)); // Warten bis Konvertierung abgeschlosen
sample=ADCW; // Wert auslesen


Quelle: http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial & Internet.
Fehlt noch Werte einlesen. Funktioniert aber ähnlich einfach wie das mit den Ausgängen.

P.S.
Habe auch ein Stück Code, dass über 6 LEDs Zahlen in max 10s Zahlen von 0 bis 9999 anzeigen kann. War natürlich so schlau und wollte kein LCD zum "debuggen" haben. Wer Interesse hat -> fragen.


[ Diese Nachricht wurde geändert von: BlackLight am 18 Jun 2013  7:47 ]

BID = 890769

perl

Ehrenmitglied



Beiträge: 11110,1
Wohnort: Rheinbach


Zitat :
ein Stück Code, dass über 6 LEDs Zahlen in max 10s Zahlen von 0 bis 9999 anzeigen kann
Langsamer gings nicht?
Im übrigen kann man mit 6 LED nur Zahlen von 0 bis 63 darstellen. Wie du mehr schaffst, solltest du erklären.

BID = 890779

BlackLight

Inventar

Beiträge: 5236

Zeitmultiplex.
Für je 2,5s werden die Ziffern 10E3, 10E2, 10E1 und 10E0 (wenn vorhanden) angezeigt.
Für die Ziffern 1-6 gehen 1-6 LEDs an. Bei der 7-9 gehen 1-3 LEDs von der anderen Seite an. Für die Zahl 0 geht eine LED an, die nicht von 1 oder 7 belegt ist.

BID = 891252

Otiffany

Urgestein



Beiträge: 13751
Wohnort: 37081 Göttingen

Ich habe jetzt mal eine Schaltung mit herkömmlichen ICs entworfen und hoffe, daß ich keine Fehler eingebaut habe.
Vielleicht kann sich das mal einer ansehen, der auf dem Gebiet mehr bewandert ist als ich
Sind in diesem Fall die Widerstände R7/R8 nötig?
Ich habe einen Umschalter verwendet, der mir die Möglichkeit geben soll, die Magnete ohne Zeitverzögerung anzusteuern.
Unsicher bin ich auch bei der Lösung des Reset vom 4017.

Gruß
Peter




      Nächste Seite
Gehe zu Seite ( 1 | 2 | 3 | 4 Nächste Seite )
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 15 Beiträge im Durchschnitt pro Tag       heute wurden bisher 20 Beiträge verfasst
© x sparkkelsputz        Besucher : 181362756   Heute : 3621    Gestern : 5828    Online : 382        27.5.2024    17:58
5 Besucher in den letzten 60 Sekunden        alle 12.00 Sekunden ein neuer Besucher ---- logout ----viewtopic ---- logout ----
xcvb ycvb
0.0574779510498