Hallo zusammen! Gleich vorweg, die Frage ist bestimmt schon 1000* gestellt worden, habe sie aber hier nicht gefunden. Und! Ich bin nicht so ganz der Foren-Typ. (Probieren geht über ..) Ich bin normalerweise in der analog Elektronik tätig, stehe aber im Moment vor dem Problem das ich die einzelnen Funktionen zur Veränderung einer Kennline (je nach Temp.) nur unzureichend realisieren kann. Erschwerend kommt noch hinzu daß das letztendliche Ausgangssignal Impulsbreiten gesteuert ist. Da ich mittelmäßig Kenntnisse in Basic und C habe, dachte ich mir das dies vielleicht mit einem PIC realisierbar sein müßte. Für einen Kunden verbauen wir den 16F676, ob der geht? Bräuchte wahrscheinlich anal.-Eingänge für Fühler und Einstellregler. Und der Hammer zum Schluß. Ich habe keinen Schimmer wie ich jetzt anfangen soll! Wie lauten die Befehle(Objekte) in den einzelnen Sprachen zum Steuern der Ausgänge, in wie weit sind math. Algorythmen möglich? Durchsuche das Internet schon lange, aber nichts gefunden. Es muß doch möglich sein Information herzubekommen um auch von Null sich das Wissen anzueignen. Würde mich über Hilfe sehr freuen. Danke! Schon im Vorraus
>Gleich vorweg, die Frage ist bestimmt schon 1000* gestellt worden, >habe sie aber hier nicht gefunden. Stell die Frage doch mal anders. >Ich bin normalerweise in der analog Elektronik tätig, stehe aber im >Moment >vor dem Problem das ich die einzelnen Funktionen zur Veränderung einer >Kennline (je nach Temp.) nur unzureichend realisieren kann. >Erschwerend kommt noch hinzu daß das letztendliche Ausgangssignal >Impulsbreiten gesteuert ist. Ja, und? >Da ich mittelmäßig Kenntnisse in Basic und C habe, dachte ich mir das >dies vielleicht mit einem PIC realisierbar sein müßte. Kein Problem. >Für einen Kunden verbauen wir den 16F676, ob der geht? Ja. >Bräuchte wahrscheinlich anal.-Eingänge für Fühler und Einstellregler. Mach dich da erst mal schlau. Brauchst du oder brauchst du nicht. >Und der Hammer zum Schluß. Ich habe keinen Schimmer >wie ich jetzt anfangen soll! Ganz schlechte Vorbedingungen. >Wie lauten die Befehle(Objekte) in den einzelnen Sprachen >zum Steuern der Ausgänge, in wie weit sind math. Algorythmen möglich? Es gibt nicht DIE Befehle. Darfst du alles schön selber programmieren. >Durchsuche das Internet schon lange, aber nichts gefunden. Kein Wunder. >Es muß doch möglich sein Information herzubekommen um auch von Null >sich das Wissen anzueignen. Lies das Datenblatt zum PIC. Da steht alles drin. Programmieren musst du schon selber lernen.
Hallo, schau dir mal den Basic Stamp I an. Einfache Befehle, und auch große Codebase, wo schon vieles realisiert wurde. Wenn du interesse hast, kann ich dir einen gratis Compiler dafür mailen, nur der Befehl "pulsin" fehlt.
Hallo, das Problem hat jeder mal, es ist die Frage wie man damit umgeht. Ein Tip zum strukturierten Arbeiten: mache es wie bei einem Puzzle, erst den rand, dann den Inhalt. Alles was du schon wissen könntes strukturiert aufschreiben. Welche anteile sind analog Welche könnten digital sein Vor allem wieviele Was genau soll alles gemacht werden Wenns möglich ist, würde ich dir eher einen avr als einstiegpunkt empfehlen. Vorteil: der Programmer ist günstiger, entwicklungsumgebung ausgegohrener, und es gibt eine Hochsprache (C) dazu, welche von Vorteil, bei einem Einstieg sein kann. Gruß, Hannes
Lt. Data schrieb: > Für einen Kunden verbauen wir den 16F676, ob der geht? Weiß ich nicht, ich nehme AVRs. > Bräuchte wahrscheinlich anal.-Eingänge für Fühler und Einstellregler. Du bräuchtest erstmal Wissen, was das Ding überhaupt machen soll, also schreib es auf: Was geht rein, welche Verarbeitung soll damit erfolgen, was geht raus. > Und der Hammer zum Schluß. Ich habe keinen Schimmer > wie ich jetzt anfangen soll! Am besten wie alle, mit den Grundlagen: LED einschalten, LED blinken, Tasten entprellen, UART, LCD, ADC, PWM, ... > Wie lauten die Befehle(Objekte) in den einzelnen Sprachen > zum Steuern der Ausgänge Die Peripherie eines MC ist üblicher Weise im Datenblatt beschrieben. Alles geschieht über Register, die man lesen oder setzen kann. Die AVR-Datenblätter finde ich sehr gut aufgebaut, man kann schnell und zielgenau die nötigen Register finden, welche Bits darin welche Bedeutung haben. > in wie weit sind math. Algorythmen möglich? In C gibts die Grundrechenarten und mathematische Funktionen (math.h). > Durchsuche das Internet schon lange, aber nichts gefunden. Das ist merkwürdig. Tutorials über MCs und die C-Sprache gibts doch zuhauf. Gleich hier gibts z.B. ein AVR-Tutorial. Peter
Wnn ihr schon PICs verbaut muss sich doch jemand damit auskennen? Sprut.de ist eine gute Seite aber der arbeitet viel mit Assembler. Kommt drauf an ob dir das liegt.
Ich weiß auch nicht, was soll denn an einem PIC nicht gehen? Gut, die Architektur und der Instruktionssatz bei den älteren und kleineren ist Hirnkrampf, da gibts günstigeres, auch preislich, aber das war halt damals so eingerichtet. Warum sollten die denn nicht gehen?
Sven P. schrieb:
> Ich weiß auch nicht, was soll denn an einem PIC nicht gehen?
Wie kommst Du darauf?
Das hat doch keiner behauptet.
Oder hast Du Dich im Thread geirrt?
Peter
Der Autor hat doch gefragt:
> Für einen Kunden verbauen wir den 16F676, ob der geht?
Naja..
Mein persönlicher Favorit ist der Proton-Compiler. picbasic.org ist da die Adresse. Dort gibt es auch eine Demo Version mit glaube ich 40 Zeilen Basic Code und 4 PIC's zur Auswahl. Da war der 16F876 dabei. Der Compiler unterstützt auch recht viel Mathematik. Versuch den doch mal. Ports lassen sich einfach schalten: portb.1=1, portc.5=0 usw. Ausserdem unterstützt der HW/SW-SPI, I2C, RS232 und SW-oneWire Bus. Zur Zeit versuche ich mich außerdem an Bascom und den AVR's. Aber bequemer finde ich die Arbeit mit PIC und Proton. Gruß Meik
Einen Pic kannst du in basic programmieren (oder auch in C) Assembler brauchst du in den seltensten fällen Melabs oder Picbasic.org haben gute bis sehr compiler. Demoversionen bis 50 Zeilen kann man runterladen. Die C development suite gibts von microchip für lau. Ein Programmiergerät von microchip kostet keine 50 Euro Analog (10 bit Auflösung) kein Problem der Befehl lautet Adin Kanal, Variable das war's. Dein 16F676 hat 8 analoge eingänge, PWM gibt es in Software. Der Rest ist machen und Datenblätter muß du immer erst lesen, dann verstehen dann benutzen.
Danke für die schnellen Antworten! Hier mal mein Vorhaben (wenigstens Gedanklich): Habe 4 Einstellregler (-> 4 anal. Eingänge + 1x Temp-Fühler = 5) Der Ausgang mein Impuls (Breiten gesteuert) Regler 1 - 4 verändern die "Kurve" laut Zeichnung bzw. R-1 den Punkt A R-2 die ganze "Kurve" R-3 den Punkt B R-4 den Punkt B Der Fühler selbst ist ein NTC und muß wahrscheinlich durch seine krumme Kennlinie erst einmal linialiesiert werden. Dürfte aber letztendlich kein Unterschied im Prg machen. Wir verbauen den PIC zwar für einen Kunden aber mehr auch nicht. Den Rest macht der Kunde alleine. Das mit den Registern ist mir zwar logisch aber ich muß sie doch in einem Prg. mit einem Befehl ansprechen. -> Werte auslesen, in Variable speichern, nach Formel berechnen, Ergebnis dem Ausgang zuweisen. Einen PIC zu programmieren kann doch nicht so Grundsätzlich verschieden sein als ob ich ein Prg für den PC schreibe. Oder? Wenn ich so darüber nachdenke kann man fast Angst kriegen. AHHH
@ Lt. Data Die Sache ist so trivial nicht. Auch deswegen, weil man die Anforderungen deiner Anwendung erst klarer erarbeiten muss, um den geeigneten uC rauszusuchen. Gerade die kleineren "PIC" sind äußerst gewöhnungsbedürftig um haben z.T. eigenwillige Einschränkungen, beispielsweise wenn man Tabellen (NTC Kennlinie) ablegen will. Ohne jemand, der dich vorort profund unterstützen kann, wird das entweder nichts oder jedenfalls nur in grösseren Zeit, da reden wird eher von Monaten als von Wochen. Ob das dann ein "PIC" oder ein anderer uC ist, wird sich zeigen. Du brauchst jedenfalls jemanden, der schon funktionierende Entwicklungen mit einem uC ähnlicher Funktionalität entwickelt hat. Das Forum hier ist nicht ausreichend.
Einen PIC zu programmieren kann doch nicht so Grundsätzlich verschieden sein als ob ich ein Prg für den PC schreibe. Oder? Nur mal so ein Gedanke: API - Docs sind die Axiome der PC- Programmierer. Datenblätter sind die Axiome der µC - Programmierer.
In Hochsprache Basic oder C kann dir das ganze gefummel mit Besonderheiten völlig wurscht sein. Eine NTC Lookup table ist ein Array und kann mit Data Ntctable [] so wie in jeder anderem Basic auch gespeichert werden und mit BitX = PortA.1 kannst du jeden blöden Port einlesen ob nun beim Pic oder AVR oder Mac OS oder ZX81 sonstwas. Was wo angeklemmt ist entscheidest du, die Hardware musst du halt lernen. Die Angst ist quatsch, fang einfach an. Hier wird aber eher Atmel AVR in C supported.
Oh je! Hätte schon Probleme jemand in meiner Umgebung zu finden der ein abgeschossenes Windows wiederbeleben kann. Naja fast. Die Entwicklung als Analog Gerät hat auch schon Monate gedauert, dann kann ich doch jetzt nicht erwarten das ich das jetzt in wenigen Wochen realisiere. Nein. Hier geht es um eine echte Regelung von einer Wassertemperatur. Ausenfühler anschliessen und Ausgang ergibt laut Regler eine gewünschte Temperatur. Ach ja, und die Funktion von R-2 ist ein/aus schaltbar.
und was möchtest du jetzt ? Schau ins Datenblatt da steht alles drin. Der rest mußt du im Compiler lesen, welchen du benutzt. Jeder ist anders. Und dann kannst du los legen mit dem Programmieren. Empfehle dir, fang mit einer LED an. Diese zum blinken bringen. Da hast du genug zu tun.
Hallo LT. Data, das mit der Regelung ist nicht direkt für den Einstieg geeignet aber machbar. Nur die Kurve verschieben ist dabei nicht der optimale Ansatz, eine richtige Regelung sollte es schon sein. Hier mal Regelungen, du siehst auch den Zusammenhang zu den analogen Schaltungen: http://www.rn-wissen.de/index.php/Regelungstechnik Auch der Temperaturfühler ist mit einem µC leicht auszuwerten. Da du nicht auf PIC festgelegt bist kannst du dir ja erst einmal einen µC mit Hard- und Software aussuchen. Hier wird Atmel und C bevorzugt, bei RoboterNetz (http://www.rn-wissen.de/index.php/Hauptseite) etwas mehr Basic. Es gibt auch Foren für PIC, H08 etc. Dann stückweise starten also LED blinken, dann Temperaturmessung... Dann ist auch der Regler machbar;) avr
Warum legst du dich eigentlich so auf den NTC mit seiner besch... Kennlinie fest? Ein DS18S20 liest die Temperatur von -55 bis +125 °C ein und die ist mit wenigen Befehlszeilen im Basic Compiler eingelesen. Das Ding kostst bei Pollin z.B. 2,50€ Meik
Hallo , ich muss ganz ehrlich sagen dass ich mit den Atmels nie so wirklich warm geworden bin . Ich nutze auch lieber die PICs und zum programmieren Flowcode V4. Die Programmiersprachen sind mir alle zu komplex um ein paar einfache Programme zu schreiben . Dazu kommt nicht dass man die Syntax genau im Kopf haben muss, macht man ein Zeichen falsch , geht gleich garnix mehr . Da ich nur ab und an mal etwas einfaches steuern möchte , ist Flowcode eine wirklich gute Alternative . Mir ging es ähnlich als ich das erste Projekt mit einem Mikrocontroller machen wollte. Keine Ahnung davon und vom Programmieren ebenfalls nur sehr wenig . Im Flowcode muss man einfach einen Programmablaufplan zeichnen und schon hat man fast das fertige Programm . Dass es nicht flexibel sei ist eine Lüge . Man kann auch C-Code oder Assembler mit einbauen und es gibt viele fertige Bibliotheken . Natürlich muss man auch hier wissen was der µC kann und was nicht . Als Entwicklungsumgebung hab ich mir die E-Blocks nachgebaut , natürlich angepasst auf meine Projekte . Wer nicht wirklich im Controller leben möchte und nur ab und an zum µC greift , hat mit diesem Programm die meiner Meinung nach die beste Alternative zum Rest . Was auch gut zu beherrschen ist , ist der CCS Compiler für die PICs , wenn auch etwas teurer . Allerdings muss man da natürlich C beherrschen .
servus, wenn du so der analoge bist ,warum machst du das nicht mit op'v? Bei deinem Vorhaben einen pic16f zu nehmen ,wäre da wohl "picbasic" oder so was der kürzeste Weg zum erfolg. ich kann aber auch mplab empfehlen, ist auch kostenlos!
Schön wenn man sieht wie viele einem helfen wollen. Danke! Bin sicherlich nicht auf den PIC festgelegt, wäre nur schön wenn wir den gleichen Typ wie unser Kunde nutzen könnten. Das mit dem NTC geht leider nicht anderst der ist bereits verbaut. Der Regler selbst ist wieder eine Neuauflage bzw. Neuentwicklung. Die alten Pläne existieren nicht mehr so das wir ihn nicht nachbauen können. Kennen also auch nur das was ich bereits genannt hatte. Habe es bereits mit OP's versucht nur leider bekomme ich den Verlauf laut Kennlinie nicht richtig hin. Da z.B. mit dem Regler 1 & 4 sowohl der Start,- Endpunkt wie auch die Verstärkung zu ändern sind. (Siehe neue Anlage) Ich hatte mir schon einige Compiler runtergeladen. mplab u. Pic-Basic sind auch dabei. Auch habe ich schon ein Programmer. Brauche nur noch den Adapter für den Anschluß. Nur eben die "Befehle" fehlen mir. Denke aber die Idee mit einer LED ist nicht schlecht. Dieses Beispiel ist bei den Compiler teilw. dabei.
Lies dir doch erst mal die Grundlagen zu den PICs bei sprut.de durch. Die Beispiele sind zwar meist in Assembler aber das Verständnis zur Arbeitsweise der PICs, Speicheraufbau, Bedeutung der Register, Timer, ADC, Interupt etc. wird dort gut erklärt. Und wenn man das verstanden hat, findet man auch schnell in die Programmierung rein. Du bist bei einem µC sehr hardwarenah egal in welche Sprache du die programmierst. Das Grundverständnis muss erst mal da sein. Eventuell kommst du ja auch mit Assembler zurecht, dann kannst du dein Projekt ja in dieser Sprache programmieren. 5 analoge Eingänge und PWM ist kein Hexenwerk, auch nicht in Assembler. Du benötigst aber ein paar Wochen/Monate um dich da einzuarbeiten. Ein reines PIC-Forum wäre noch http://www.fernando-heitor.de
@Haku >Gut, die Architektur und der Instruktionssatz bei den älteren und >kleineren ist Hirnkrampf, da gibts günstigeres, auch preislich, aber das >war halt damals so eingerichtet. Der erste Teil ist weitgehend subjektiv, der Zweite schlicht falsch wenn du dich nicht auf Stückzahlen beziehst. Richtig ist das Preis-Argument nur bei Kleinstmengen.
so jetzt will ich doch mal den hilfebedürftigen ein wenig Mut machen. so du nimmst den Pic und legst im mplab ein Projekt an. Mit assembler ist das bestimmt gut zu schaffen sind ja nur 35 Befehle. den internen Oszillator wählen und erst mal kein memoryprotect. das alles geht bei mplab im letzten menupunkt. und jetzt fängst du mit deinem Programm an.zb: org(0) goto _reset ;sprungbefehl org(4 o. 8) ;das ist die inerruptadresse bla bla _reset: movlw b'00110011' ;lade die zahl ins Arbeitsregister movwf TRISA ;schreibe von arbeitsregister in Portkonf.-Register ;in TRISA wird auf digital Ein. oder Ausgang eingestellt. und immer so weiter
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.