Hallo. Ich bin neu hier im Forum und wollte mich mal im PIC programmieren versuchen. Ich habe keinerlei Vorkenntnisse und kann kaum Englisch. Verwenden möchte ich den PIC im RC-Modellbau um Funktionen zu steuern. Mein Projekt: Ich möchte einen einfachen 2-Kanal-Schalter aufbauen um über einen Steuerkanal am Sender 2 Funktionen unabhängig voneinander einzuschalten. Als PIC soll ein 12F629 zur Anwendung kommen. Es handelt sich dabei um ein pulsweitenmoduliertes Singnal, welches eine Signallänge von 1-2ms hat. Bei 1,5ms ist die Neutralstellung und es soll nichts passieren. Zwischen ca 1-1,3ms soll Relais 1 anziehen und eine Funktion ansteuern, Relais 2 bleibt aus. Zwischen ca 1,8-2ms soll entsprechend Relais 2 anziehen und Relais 1 soll aus bleiben. Schaltplan und Platine sind bereits fertig. Wie weit ich gekommen bin: Ich habe mir MPLAB X runtergeladen und installiert. Da bekam ich den ersten Frust. Laut Installationsmaske wurde ein Speicherplatz von 4,irgendwas GB gebraucht. Ok, dafür war genug Platz auf der Festplattenpartition. Nach wenigen Minuten wurde die Installation wegen Fehler abgebrochen. Ursache Festplatte voll. Nach erfolgreicher installation auf einer größeren Partition dann das große OHO.. keine 4,... sondern ganze 24GB. Als PIC Brenner hatte ich mir das PicKit3 zugelegt, was auch nicht funktionierte. Nach einiger recherche...PicKit3 wird von dem neuen MPLAB X nicht mehr unterstützt. Jetzt wollte ich auch keine 80-100€ ausgeben also entschied ich mich für den MPLAB SNAP bei Reichelt. Da habe ich mir auch gerade die Bauteile für die Platine mitbestellt und ein Experimentalboard im Set mit Kabel und Energiemodul. Als alles angekommen war, bekam ich keine Verbindung zwischen Snap und PC. Ein passendes USB-Kabel ist nicht im Lieferumfang und das was ich hatte war nur ein einfaches Ladekabel. Also noch ein Datenkabel besorgt und der PC erkannte ein neues Gerät. In der zwischenzeit hatte ich dann auch schon herausbekommen, dass der Snap nicht den PIC mit Spannung versorgen kann und zum Programmieren eine externe Spannung anliegen muss. Das war kein weiteres Problem, denn ich hab ja das Energiemodul für das Experimentalmodul. Das noch mit den Jumpern auf 5 V eingestellt wurde und gut. Jetzt habe ich mir ein paar Videos angeschaut um das MPLAB X IDE zu verstehen und da fängt es jetzt bei mir an. Wenn ich ein neues Projekt anlege komme ich bei Schritt 2 nicht mehr weiter. Gebe den PIC12F629 an und kann dann bei Tool nicht den Snap Adapter auswählen. Habe dann versucht über die Menüleiste - Debug - Hardware Tool Emergency Boot... den Snap Adapter zu konnekten. Das ging auch mit der Spielerei von Jumper brücken... (warum man da nicht wirklich einen kleinen Jumper oder Taster herstellerseitig verbaut ist mir Rätselhaft). Aber danach kann ich den Snap Adapter unter "neuem Projekt" immer noch nicht auswählen. Mein nächstes Problem kommt dann, das ich die Programmiersprache C nicht kenne. Die groben Grundzüge sind soweit klar. Am PIC Ein- und Ausgänge definieren, dann einen Timer für das Signal auszuwerten und dann im Programm festlegen, was unter welchen Umständen passieren soll. Wie das aber in C formuliert wird hab ich noch keine Ahnung. Da das Programm aber nicht sonderlich umfangreich zu sein schien, habe ich das einfach mal mit einer KI versucht und wollte das testen. Habe meine Beschreibung dort 2x eingegeben und die KI das 2x schreiben gelassen. Bei der ersten Version passt der Anfang denke ich / ====================================== // PIC12F629: Pulsbreitenmessung an GP3 // Ausgänge: // GP0 (Pin7), // GP1 (Pin6) // ===================================== Während bei Versuch 2 schon die Ausgänge falsch benannt sind // =========================================== // PIC12F629 – Pulsweitenmessung an GP3 (Pin 4) // Ausgänge: // GP1 (Pin 6) = Ausgang 1 // GP2 (Pin 7) = Ausgang 2 // =========================================== Also fraglich wie es im gesamten abläuft. Mir ist auch klar, dass mir hier keiner C beibringt, das wäre nicht möglich und viel zu umständlich. Was ich mir jetzt erhoffe. -Dass man mir helfen kann in MPLAB X weiter zu kommen bzw warum ich den SNAP Adapter nicht auswählen kann. -Vielleicht auch, dass mir jemand für kleines Geld meine 3 ersten PIC´s brennen kann, damit ich in meinem Modellbauprojekt weiter komme. Ach so, falls die Frage auftaucht, warum ich den Aufwand betreibe, obwohl man schon für kleines Geld solche Schalter fertig kaufen kann. Der Minimalismus schreitet soweit voran, dass man jetzt überall auch schon auf Befestigungslöcher verzichtet und ich möchte nicht alle Bauteile mit Klett- oder Klebeband ankleben. Schön sauber geschraubt gefällt mir besser. Zudem sind auch nur die Schaltkontakte ausgeführt. Ich gehe lieber mit der Versorgungsspannung (+ und -) zu meiner Platine und von dort zu meinen Verbrauchern, statt den Minus über den Schaltkontakt zu führen und jedem Verbraucher den Plus nochmal separat hinlegen zu müssen. Auch spare ich mir so gerne noch eine Verteilerplatine für den Plus. Gruß Markus
Markus schrieb: > wollte mich mal im PIC programmieren > versuchen. Warum? > Ich habe keinerlei Vorkenntnisse und kann kaum Englisch. Um so schlimmer. > Verwenden möchte ich den PIC im RC-Modellbau um Funktionen zu steuern. Dann nimm einfach was, was einfacher zu programmieren ist und für das es deutsche Dokus gibt.
Für den 12F629, hätte es das MPLAB V8.92, XC8 V1.45 und ein Pickit2 allemal auch getan. Da wären mir meine SSDs zu schade für ein "-X". Deutesch Dokus findet man bei sprut.de.
:
Bearbeitet durch User
Hallo Ob S. Deine Antwort ist ja mal absolut nicht hilfreich aber ich gebe mal Antwort. Warum PIC? PIC war das erste wo ich drauf gestoßen bin. Hatte vor Jahren mal einen Arbeitskollegen (leider keinen Kontakt mehr) der hatte mit PIC´s hobbymäßig zu tun. Er hatte mir davon erzählt und ich fand die Sache damals wie heute interessant. Zu meinen Vorkentnissen. In der Schule vor ca 25 Jahren hatte ich mal kurz in Informatik mit Pascal zu tun und in der Lehre ein bisschen mit Siemens Simatic S5 und S7. Dachte das vom Programmieren das ganze etwas ähnlich sein wird, da ja immer der Zustand abgefragt wird auf den dann eine Reaktion passieren soll. Aber C ist da doch ganz anders. Du sagst ich soll was anderes nehmen. Was? __________________________________________________ Cartman E. Danke für deine Antwort. Ich habe gegooglet, was man zum PIC programmieren braucht und habe darauf halt einfach die aktuellste Version von MPLAB runter geladen. Da sind auch die ganzen aktuellen Compiler drin und wusste auch, das es auf meinem Rechner läuft. Bei älteren Versionen kann es ja zu kompatibilitätsproblemen kommen und wollte da nachher nicht noch ewig nach Patches oder irgendeinem Kram suchen müssen. Hätte ich gewusst, dass eine ältere Version läuft und der XC 8 Compiler für meinen PIC reicht hätte ich mich sicher erstmal für die Version entschieden. Werde mich mal durch sprut.de durchlesen. Die Seite ist gut gegliedert wird aber sicher etwas dauern. _______________________________________________________ Auf Grund keiner weiteren Antworten auf mein Problem sehe ich mein Projekt für mich als sehr schwierig an... klar, alles in Englisch und kann kein Englisch und kein "C". Wäre mir dann eventuell jemand in soweit hilfreich mir ein Programm zu schreiben und auf meine 3 schon gekauften PIC´s zu brennen? So landen sie wenigstens nicht unnötig im Müll. Gruß Markus
Markus schrieb: > So landen sie wenigstens nicht unnötig im Müll. Da soll also jemand einen Tag seiner Freizeit opfern, damit deine Mikrocontroller im Wert von 5€ nicht in den Müll wandern? Erzähle doch lieber mal, wie viel Geld dir diese selbstlose Rettungsaktion wert ist.
:
Bearbeitet durch User
Markus schrieb: > Was ich mir jetzt erhoffe. > -Dass man mir helfen kann in MPLAB X weiter zu kommen bzw warum ich den > SNAP Adapter nicht auswählen kann. Du hast zu billig gekauft. Sorry. Der MPLAB Snap wird Deinen PIC nicht programmieren können, und das MPLABX weiß das auch. Der Grund dafür ist, dass das Snap zu billig ist. Dein konkreter PIC braucht am MCLR Pin eine Programmierspannung von 9 bis 12 V (den genauen Wert müsste ich nachschauen), um in den Programmiermodus zu wechseln. Die normalen PICKITs (2, 3, 4, 5, aber nicht der BASIC!) haben dafür einen DC-DC-Wandler, der die erforderliche Spannung aus den 5V des USB-Ports erzeugt. Der Snap sollte aber billig sein, und deswegen hat man diesen etwas aufwändigen Schaltungsteil dort weggelassen. Moderne PICs brauchen diese hohe Programmierspannung auch nicht mehr, aber Deiner ist ein sehr alter Typ. Das erkennt man daran, das hinter dem F in der Typenbezeichnung nur drei Ziffern folgen. Neuere PICs haben 4 oder 5 Ziffern hinter den F. Du hast jetzt folgende Möglichkeiten: 1. Du besorgst Dir ein PICKIT5. Das kann alles, was Du brauchst. Ist halt nicht ganz billig. 2. Du deinstallierst Dein MPLABX 6.25 und installierst die 6.20. Die kommt dann auch mit Deinem PICKIT3 klar. 3. Du nimmst einfach einen zeitgemäßen PIC. Wenn Du unbedingt einen 8-Pinner haben willst, wäre der PIC16F18313 beispielsweise geeignet. Aus der gleichen Serie gibts auch den PIC16F18324 mit 14 Pins. Die können Low Voltage Programming und funktionieren dann auch mit Deinem SNAP. Ich persönlich würde 3. wählen und dann zu einem 14-Pinner greifen. fchk PS: nachgeschaut: Dieser hier braucht 12V Programmierspannung. Andere brauchen 9.5V. Der DC-DC-Wandler im PICKIT muss in der Lage sein, eine variable Programmierspannung zwischen 6.5 und 13.5V zu erzeugen, und diesen AUfwand (und Kosten) hat man sich beim MPLAB Snap und beim PICKIT Basic gespart.
:
Bearbeitet durch User
Am besten fängt man mit einem ganz kleinen Projekt an. Z.B lass eine LED blinken. Klingt einfach aber wird es nicht für dich sein. Wenn es läuft hast du schon eine ganze Menge gelernt. Und nicht gleich aufgeben sowas braucht Zeit und viel Übung.
MPLAB V8.92 und der XC8 laufen auch ohne Probleme auf aktuellen 64 bit Windows Versionen. Die Sorge ist also unbegründet. Statt zig GB braucht das MPLAB+XC8 hier ca. 1,5 GB und ca. 500 MB, wenn man für den Ordner die Kompression einschaltet. Die Versionen bei Microchip aufzustöbern, überlasse ich allerdings dir. ☺ P.S.: Wenn du diesen Weg einschlägst, solltest du statt MPLAB-Assemblers gleich mit dem XC8-Assembler arbeiten. Spätestens wenn du soweit bist, und C und Assembler zusammen benutzen willst, nützt dir der alte MPLAB-Assembler nichts mehr. Für weitere Projekte solltest du den 12F683/16F684 ins Auge fassen. Mit denen lassen sich auch batteriebetriebene Projekte sehr viel besser umsetzen.
:
Bearbeitet durch User
Peter K. schrieb: > Am besten fängt man mit einem ganz > kleinen Projekt an. Z.B lass eine LED blinken. Das ist ohne das passende Programmiergerät bzw. ohne die zum Programmiergerät passende Entwicklungsumgebung erstaunlich schwierig. Hier hat sich der Threadstarter etwas selbst ein Bein gestellt, in dem er eine fossile und nur umständlich programmierbare Microcontrollerfamilie ausgesucht hat.
Markus schrieb: > Hatte vor Jahren mal einen > Arbeitskollegen (leider keinen Kontakt mehr) der hatte mit PIC´s Ist Jahre her. Möglicherweise längst veraltet - so als ob du dir ein 15Jahre altes Pedelec mit NiCd-Akku zulegen wolltest. Wenn du mit so einem anspruchsvollen Hobby neu anfängst, nimm das, was alle machen. Das dürfte Ardurino sein. Einfacher zu handhaben und mehr Leute die du fragen kannst.
Georg M. schrieb: > Ist das ein Fehler? Vermulich nicht. Warum fragst du? Schon ins Datenblatt der Rekais geschaut?
Harald K. schrieb: > ... nur umständlich programmierbare > Microcontrollerfamilie ausgesucht hat. Ich würde behaupten, dass weitaus mehr 8 Bit AVRs wegen falsch gesetzter Fuses in den Müll geflogen sind. Die kaputte Ja ist Nein und Nein ist Ja-Logik hat da ihre Tücken. Und umständlich ist die (ICSP-)Programmierung auch nicht. Wenn man in der Lage ist, die richtige Familie auszuwählen, kann kaum etwas schiefgehen. Und ob "Ardurino"s nun unbedingt modellbautauglich sind? @TO: Das Pickit3 was du ja schon hast, wird natürlich auch vom MPLAB V8.92 unterstützt.
Cartman E. schrieb: > Ich würde behaupten, dass weitaus mehr 8 Bit AVRs wegen falsch > gesetzter Fuses in den Müll geflogen sind. Also ich habe den Fehler nur 2x begangen, danach konnte ich es richtig. Cartman E. schrieb: > Und ob "Ardurino"s nun unbedingt modellbautauglich sind? Warum nicht? Was machen andere generische (z.B auf PIC basierte) Mikrocontroller Boards diesbezüglich besser?
Nemopuk schrieb: > Cartman E. schrieb: >> Ich würde behaupten, dass weitaus mehr 8 Bit AVRs wegen falsch >> gesetzter Fuses in den Müll geflogen sind. > > Also ich habe den Fehler nur 2x begangen, danach konnte ich es richtig. Schon zwei zuviel. Es gibt bei PICs keinen Programmierzustand, in dem sie nicht per ICSP neu programmiert werden könnten. PIC-ICSP erfordert auch keine Taktquelle für den Controller. > Cartman E. schrieb: >> Und ob "Ardurino"s nun unbedingt modellbautauglich sind? > > Warum nicht? Was machen andere generische (z.B auf PIC basierte) > Mikrocontroller Boards diesbezüglich besser? Die schleppen keinen Bootlader mit sich herum, und sind bei vernünftiger Wahl des Controllertyps energetisch ausgesprochen sparsam. Das was der TO als Problem lösen will, ist ein gutes Beispiel für einfache Anwendungen, bei denen auch ein einfacher Controller einsetzbar ist. Auch vom Platzbedarf her: Den 12F629 gibt es auch in SO8.
Cartman E. schrieb: > Die schleppen keinen Bootlader mit sich herum, und sind bei > vernünftiger Wahl des Controllertyps energetisch ausgesprochen > sparsam. Beides halte ich bei einer Modelleisenbahm für irrelevant.
Nemopuk schrieb: > Cartman E. schrieb: >> Die schleppen keinen Bootlader mit sich herum, und sind bei >> vernünftiger Wahl des Controllertyps energetisch ausgesprochen >> sparsam. > > Beides halte ich bei einer Modelleisenbahm für irrelevant. > Warum nicht? Was machen andere generische (z.B auf PIC basierte) > Mikrocontroller Boards diesbezüglich besser? Für mich sind Boards nicht relevant. Eine 100er Stange 12Fxyz kann man übrigens für ca. 8 Euro kaufen. Wie viele "Boards" bekommst du dafür?
Cartman E. schrieb: > Ich würde behaupten, dass weitaus mehr 8 Bit AVRs wegen falsch > gesetzter Fuses in den Müll geflogen sind. Heute ist das kein Thema mehr. Und übrigens gerade die AVRs sind für solche Aufgaben schon quasi vorgefertigt.
Cartman E. schrieb: > Für mich sind Boards nicht relevant. Du hast nach "Arduinos" gefragt, das sind Boards. Es gibt von Arduino nur Boards. Aber OK, ich spiele dein Spiel mit und passe meine Frage an: Cartman E. schrieb: > Und ob "Ardurino"s nun unbedingt modellbautauglich sind? Warum nicht? Was machen andere Mikrocontroller beim Modellbau besser, als die bei Arduino verwendeten? Zum Beispiel der hier genannte PIC12F629 versus ATtiny85. Oder nenne andere Beispiele, wenn du magst. Aber vergleiche dabei nicht Ruderboote mit Schlachtschiffen.
:
Bearbeitet durch User
Ich habe weder das Thema Arduino hier einfliessen lassen, Karl K. schrieb: > Wenn du mit so einem anspruchsvollen Hobby neu anfängst, nimm das, was > alle machen. Das dürfte Ardurino sein. Einfacher zu handhaben und mehr > Leute die du fragen kannst. noch habe ich nach Arduinos gefragt. Ich gedenke dieses Thema hier auch nicht weiterzuverfolgen. Wenn dein gedankliches Spektrum nur von ATTINY85 bis Arduino reicht, ist mir das egal. Aber du darfst mir ja gerne erklären, was sie den nun besonders modellbautauglich macht.
Cartman E. schrieb: > Aber du darfst mir ja gerne erklären, was sie den nun besonders > modellbautauglich macht. Ich habe nicht gesagt, daß sie besonders Modellbautauglich seien. Ich habe das im Gegensatz zu dir aber auch nicht angezweifelt. Du magst Arduinos nicht im Modellbau. OK, akzeptiert. Was empfiehlst du denn nun stattdessen, und warum?
:
Bearbeitet durch User
Nemopuk schrieb: > Was empfiehlst du denn nun stattdessen, und warum? Er scheint PICs zu bevorzugen. Stockholm?
Ich bevorzuge Massanfertigung. Versuch den TO doch mal zu überzeugen, dass er statt des 8 Pinners, der dem Problem vollinhaltlich gewachsen wäre, plötzlich ein "Board" braucht. Das der TO noch gewisse Startschwierigkeiten hat, wird sich sicher bald geben.
Für die Anwendung ist das gewählte Format des uC gut. In dem Fall ist halt nur blöd, daß er keinen passenden Programmieradapter hat. Aber es gibt ja passende PIC Modelle. Ich würde den bereits genannten ATtiny85 nehmen, weil ich ihn kenne und dazu passende Programmieradapter habe.
:
Bearbeitet durch User
Nemopuk schrieb: > Für die Anwendung ist das gewählte Format des uC gut. In dem Fall ist > halt nur blöd, daß er keinen passenden Programmieradapter hat. Aber es > gibt ja passende PIC Modelle. Flasch. Hat er ja. Pickit3. Er hat sich nur bei der Software bislang vergriffen. > Ich würde den bereits genannten ATtiny85 nehmen, weil ich ihn kenne und > dazu passende Programmieradapter habe. Ich müsste welche kaufen. Würde ich aber nicht. Statt des 12F629 hätte ich den 12F675. Bei dem muss man nur den AD-Wandler nicht einschalten, und die AD-Pins auf digital stellen. Wie viele ATTINY85 bekmmt man eigentlich für 6 Euro?
Cartman E. schrieb: > Wie viele ATTINY85 bekmmt man eigentlich für 6 Euro? Nicht viele, ca. 4 Stück. Sie liegen preislich auf ähnlichem Niveau wie die genannten PIC.
:
Bearbeitet durch User
Georg M. schrieb: > Wo sind denn alle PIC-Programmierer hier? Warum wollen sie nicht helfen? Ich hab ihm doch geschrieben, was genau das Problem ist. Seinen Allerwertesten hochbekommen muss er selber. Er hat sich hier auch nicht mehr gemeldet. fchk
Markus schrieb: > Du sagst ich soll was anderes nehmen. Was? Hmmm, deine Vorkenntnisse sind für die gewählte Architektur nicht gerade schnell zielführend; das hast du wohl selbst schon erkannt. Falls du überhaupt bei PIC bleiben willst, würde ich empfehlen, einen "neueren" Typ 8-Pin zu verwenden, denn der 12F629 ist schon verdammt alt. Der 12F1822 , 12F1840 bzw. 12F1572 sind einiges neuer, und die dürften für deine geplante Anwendung kompatibel sein zur "bereits fertigen" Platine. Und vermutlich auch mit dem SNAP besser verwendbar. Ich habe genannte Typen mit PicKit3 und dem MPLAB-X v 6.05 in Betrieb. Update auf neue Version mache ich mich Bedacht momentan nicht.
:
Bearbeitet durch User
Cartman E. schrieb: > Das Pickit3 was du ja schon hast, wird natürlich auch vom > MPLAB V8.92 unterstützt. Nein, wird es nicht mehr! Die haben den ganzen alten Kram rausgeworfen. Gruß Jobst
Die älteren Versionen von MPLAB X sind auch verfügbar: https://www.microchip.com/en-us/tools-resources/archives/mplab-ecosystem Ich verwende MPLAB X IDE v5.10 und da ist pickit3 angeführt. (nicht getestet weil ich kein pickit3 habe - sondern die hex-files mit einem "sprut"-brenner programmiere.) Es spricht absolut nichts dagegen, pickit3 mit einer älteren Version von MPLAB X zu verwenden. Auch der 12F629 ist für diese Aufgabe völlig ausreichend. Wie bereits empfohlen: Deutsche Seite mit umfangreichen Erklärungen: sprut.de Programmieren in ASM ist rasch erlernt und für die ganz kleinen PIC's gut geeignet. Da hat man auch absolute Kontrolle über die tatsächlichen Ausführungszeiten des Codes. Anmerkung zum snap-programmer: Nur Low-voltage-programming möglich. Da "verliert" man aber einen Pin! Wechseln zwischen low- und hi-voltage-programmung kann mit dem snap auch nicht funktionieren - es fehlt die Programmierspannung.
Jobst M. schrieb: > Cartman E. schrieb: >> Das Pickit3 was du ja schon hast, wird natürlich auch vom >> MPLAB V8.92 unterstützt. > > Nein, wird es nicht mehr! > Die haben den ganzen alten Kram rausgeworfen. Es geht um das MPLAB V8.92. Da ist kein "Kram rausgeworfen", und das Pickit3 ist drin! Ahnungsloser Honk!
1 | 14/12/16 16:24 116,318,137 MPLAB_IDE_8_92.zip |
2 | 17/12/09 14:36 104,917,632 xc8-v1.45-full-install-windows-installer.exe |
So ich versuche mich jetzt mal der Reihe nach durchzuarbeiten. Nemopuk schrieb: > Da soll also jemand einen Tag seiner Freizeit opfern, damit deine > Mikrocontroller im Wert von 5€ nicht in den Müll wandern? Erzähle doch > lieber mal, wie viel Geld dir diese selbstlose Rettungsaktion wert ist. Also für jemanden der das programmieren beherrscht dachte ich, dass es nicht so viel Zeit in anspruch nimmt. Ein Eingang, zwei Ausgänge ein Timer. Einmal programmieren und das Programm 3x brennen. Es geht dabei nicht nur um die 3 PICs sondern auch um den Rest... 3x Platine, 6x Relais.... Da ich selbst jetzt so nach etwa 1 Monat damit beschäftigt bin und noch nicht mal das Programm im griff habe, lasse ich mich da auch gerne eines besseren belehren was die Programmierzeit bzw den Aufwand anbelangt. _____________________________________________________________ Frank K. Vielen Dank. Wirklich. Die erste Antwort, die mich weiterbringt. Ich hatte das so verstanden, dass der SNAP die 5 V Versorgungsspannung für den PIC nicht liefern kann. Aber wenn er die 12V am MCLR nicht kann ok. Ich würde gerne bei den 8 Pin bleiben mit 14 Pins wird die Platine größer und brauche dort die Pins auch nicht. Ich denke werde es erstmal mit dem PICKit3 und meinen vorhandenen PICs sowie einer älteren Version von MPLAB versuchen. Glaube man kann bei Microchip ein paar ältere Versionen noch runterladen. _____________________________________________________________ Peter K. schrieb: > Am besten fängt man mit einem ganz kleinen Projekt an. Ja, das werde ich wohl wirklich so angehen müssen. _______________________________________________________________ Karl K. schrieb: > Ist Jahre her. Möglicherweise längst veraltet - so als ob du dir ein > 15Jahre altes Pedelec mit NiCd-Akku zulegen wolltest. Stimmt ist schon lange her...aber was mal im Kopf ist... _______________________________________________________________ Georg M. schrieb: > Ist das ein Fehler? Die Relais haben eine Spulenspannung von 5V. Das passt. _______________________________________________________________ Ihr bringt noch das Arduino ins Spiel. Das wird auch im Modellbau eingesetzt. Da gibt es wohl auch tolle vorgefertigte Sensoren und so. Ich schätze das wird Geschmachssache sein wer was einsetzt. Das verwirrt das ganze jetzt aber auch etwas. Aber danke für das aufzeigen der Alternative. ________________________________________________________________ Cartman E. schrieb: > Nemopuk schrieb: >> Cartman E. schrieb: >>> Ich würde behaupten, dass weitaus mehr 8 Bit AVRs wegen falsch >>> gesetzter Fuses in den Müll geflogen sind. >> >> Also ich habe den Fehler nur 2x begangen, danach konnte ich es richtig. > > Schon zwei zuviel. > Es gibt bei PICs keinen Programmierzustand, in dem sie nicht > per ICSP neu programmiert werden könnten. > PIC-ICSP erfordert auch keine Taktquelle für den Controller. Hier kann ich jetzt mal gar nicht folgen. Setzt man da beim Programmieren irgendwelche Sicherungen? Und was ist PIC-ICSP? _________________________________________________________ Nemopuk schrieb: > Beides halte ich bei einer Modelleisenbahm für irrelevant. Nur am Rande, es geht um ein Modell-U-Boot. Platz ist da weniger als bei einer Modelleisenbahn. Hätte das auch ganz gerne in SMD aufgebaut allerdings nahm ich die DIP Bauform um den PIC in dem Experimentierboard einfach einstecken zu können. ___________________________________________________________ Cartman E. schrieb: > Versuch den TO doch mal zu überzeugen, dass er statt des > 8 Pinners, der dem Problem vollinhaltlich gewachsen wäre, > plötzlich ein "Board" braucht. Also ich habe die PIC´s ja jetzt, das PicKit 3 und die anderen Bauteile sowie Platinen. Da werde ich jetzt ungern alles über den Haufen werfen. ___________________________________________________________ Frank K. schrieb: > Ich hab ihm doch geschrieben, was genau das Problem ist. Seinen > Allerwertesten hochbekommen muss er selber. Er hat sich hier auch nicht > mehr gemeldet. Man hat am Tag auch noch andere Sachen zu tun. Ich werde mich jetzt als nächstes auf jeden fall erstmal nach einer älteren MPLAB Version umsehen und es damit versuchen. ____________________________________________________________ Klaus F. schrieb: > Ich habe genannte Typen mit PicKit3 und dem MPLAB-X v 6.05 in Betrieb. > Update auf neue Version mache ich mich Bedacht momentan nicht. Jobst M. schrieb: > Cartman E. schrieb: >> Das Pickit3 was du ja schon hast, wird natürlich auch vom >> MPLAB V8.92 unterstützt. > > Nein, wird es nicht mehr! > Die haben den ganzen alten Kram rausgeworfen. Klaus du benutzt V6.05 mit PicKit3 und Jobst schreibt PicKit3 wird bei V8.92 nicht mehr unterstützt? Meine aktuelle Version ist 6.25 und da wird es definitiv nicht mehr unterstützt. Jobst, benutzt du eventuell ein anderes Betriebssystem wegen der höheren Versionsnr? ________________________________________________________________ Klaus F. schrieb: > Falls du überhaupt bei PIC bleiben willst, > würde ich empfehlen, einen "neueren" Typ 8-Pin zu verwenden, Das werde ich mir für das nächste mal merken, falls sie bis dahin dann auch nicht schon alt sind...haha ______________________________________________________________ Hans schrieb: > Programmieren in ASM ist rasch erlernt und für die ganz kleinen PIC's > gut geeignet. Da hat man auch absolute Kontrolle über die tatsächlichen > Ausführungszeiten des Codes. ASM habe ich noch nicht gehört. Werde ich mir auf jeden fall ankucken. Danke für den Tipp.
MPLAB != MPLAB-X ICSP ist das Programmierverfahren für PICs. Fuses sind Optionen die den Controller konfigurieren. Beim PIC sind sie Bestandteil der ICSP-Programmierung, und können beim Programmieren immer wieder neu gesetzt werden. Bei AVRs werden die Fuses getrennt programmiert, und können wenn falsch gesetzt, eine weitere serielle Programmierung verhindern. Dann hat man sich ausgesperrrrrrt, ☺ und braucht einen HV-Programmierer. Neuere PICs haben zum Teil schlechtere Spezifikationen als alte Typen. Man hat recht wenig eigenen Gewinn vom Neu. Man darf die alten Typen also noch gerne, und eine Weile verwenden. Für deine Aufgabenstellung, würde sogar der Urvater aller PICs, der 16C50, geeignet sein. Neu spielt nur eine sehr untergeordnete Rolle. Für SMD (SO8/SO14) gibt es Adapter mit einem Nullkraftsockel. In den SO14 passen auch SO8. Das spielt also überhaupt keine Rolle. Ach ja: Ich schreibe hier nichts zweimal. Lies einfach aufmerksam.
:
Bearbeitet durch User
Markus schrieb: > Jobst, benutzt du eventuell ein anderes Betriebssystem wegen der höheren > Versionsnr? Nein, könnte aber an diesem liegen: Cartman E. schrieb: > MPLAB != MPLAB-X Aber generell sagt auch Microchip selbst: https://www.microchip.com/en-us/about/media-center/blog/2024/discontinued-ide-support-for-gen3-tools Mit dem Problem hatte ich selbst zu kämpfen. Cartman E. schrieb: > Ahnungsloser Honk! Was bringst Du hier auch für altes Zeug ins Spiel. Selber Honk! Mit MPLAB X V6.20 geht es auch noch. Gruß Jobst
Jobst M. schrieb: > Was bringst Du hier auch für altes Zeug ins Spiel. Selber Honk! > Mit MPLAB X V6.20 geht es auch noch. Statt hier frech zu werden, solltest du deine ja offensichtlich faktenfreie Fehlaussage korrigieren: Jobst M. schrieb: > Nein, wird es nicht mehr! > Die haben den ganzen alten Kram rausgeworfen. Entscheidend ist, was herauskommt: Cartman E. schrieb: > MPLAB V8.92 und der XC8 laufen auch ohne Probleme auf aktuellen > 64 bit Windows Versionen. Die Sorge ist also unbegründet. > Das Pickit3 was du ja schon hast, wird natürlich auch vom > MPLAB V8.92 unterstützt. MPLAB X V6.20 ist genauso ein (GB-)Müllhaufen wie die aktuelle Version.
Markus schrieb: > Also ich habe die PIC´s ja jetzt, das PicKit 3 und die anderen Bauteile > sowie Platinen. Da werde ich jetzt ungern alles über den Haufen werfen. Naja, das wäre wohl verwendbar, wenn man den etwas neueren PIC12F1572 oder PIC16F18313 nimmt. Ganz alte SW oder Tools würde ich abraten, da kann dir niemand richtig helfen weil die Experten in Rente sind. Unbedingt musst du dich schlaumachen bzgl. Servosignal detektieren, das ist leider nicht so trivial wie es dir erscheinen mag. GOOGLE: erfassung messung servo signal "pic" microchip
Klaus F. schrieb: > Unbedingt musst du dich schlaumachen bzgl. Servosignal detektieren, > das ist leider nicht so trivial wie es dir erscheinen mag. Vielleicht bei einem PIC. Viele (andere) haben eine InpuCatureUnit, die man genau dafür programmieren kann. Einzig um die Fehlerbehandlung (zu lange oder zu kurze Impulsmessungen) muss man sich selber kümmern. Wieso sollte es nicht trivial sein? Mit einem PIC (AFAIR den ersten mit FLASH und der Möglichkeit sie über Ludipipo zu programmieren) habe ich vor zig Jahren mal einen Servo-Encoder programmiert. Ob ich auch die Decoder-Seite gemacht habe, weiß ich nicht mehr - AVR sind mir lieber. Aber soooo kompliziert ist das auch nicht.
Rahul D. schrieb: > Wieso sollte es nicht trivial sein? Den Eingangspost mit den aktuellen Kenntnissen des TE hast du gelesen?
Klaus F. schrieb: > Den Eingangspost mit den aktuellen Kenntnissen des TE hast du gelesen? Nö, aber irgendwann (je nach Lernwillen) ist es trivial. Andere sind dazu übergegangen, das Signal per RC-Glied zu "analogisieren" und dann per AD-Wandler des 80535 zu messen. 1..2 ms sind doch für einen µC Äonen. Und wenn man ein konkretes Projekt hat, wird man sich auch entsprechend engagiert damit beschäftigen - notfalls im Forum fragen (früher gab es auch ein auf PIC spezialisiertes Forum: "Sprut", oder so?). Er will ja (noch) keine Brushless-Vektorsteuerung programmieren. Markus schrieb: > Ich möchte einen einfachen 2-Kanal-Schalter aufbauen um über einen > Steuerkanal am Sender 2 Funktionen unabhängig voneinander einzuschalten. Gab es von Conrad als Bausatz mit CMOS-Bausteinen. [noch mehr Offtopic] Mit einem AVR-basierten Arduino-Board (z.B. UNO mit steckbarem AVR) wäre mMn der Einstieg inzwischen wesentlich einfacher. Damals (2005) gab es die noch nicht. Da war es auch verpöhnt, solche Entwicklungsumgebungen zu verwenden - "all from scratch"... [/noch mehr Offtopic]
Rahul D. schrieb: > (früher gab es auch ein auf PIC spezialisiertes > Forum: "Sprut", oder so?) Jaja, https://www.sprut.de/electronic/pic/config/config.htm " Autor: sprut letzte Änderung: 19.01.2010 " Und sprut kennt nur Assembler. Das ist so, als würde man bei einem geplanten Hausneubau sich nach Steinmetz-Handwerkern mit Kupferwerkzeug informieren.
Rahul D. schrieb: > Vielleicht bei einem PIC. Viele (andere) haben eine InpuCatureUnit Natürlich gibst bei den PICs Capture/Compare/PWM Module... ?-O
Ich würde dir auch empfehlen, für den alten PIC die alte MPLAB-IDE 8.x zu installieren und das PICKIT 3 zum Flashen zu verwenden. Ich habe PICs immer in Assembler programmiert, als Modellbauer hat man ja eine gewisse Liebe zum Detail. Im Anhang das Programm eines 2-Kanal Schalters für den PIC 12F629, wie ich ihn seit Jahren selbst verwende (Assembler Source-Code, das ist noch in MPASM geschrieben (die MPLAB-X IDE unterstützt nur noch pic-asm). Heute würde ich das anders schreiben, das Ding ist ein Frühwerk von mir ... läuft aber. Allerdings habe ich noch eine einstellbare Memory-Funktion über Jumper, eine Fehlererkennung mit Abschaltung der Ausgänge (falls das Empfänger-Signal mal ausbleibt oder ungültig wird) und einen Nullpunkt-Abgleich beim Einschalten implementiert. Wahrscheinlich musst du die IO-Ports an deine Leiterplatte anpassen, aber das geht relativ einfach, schreib mir, falls du da Hilfe brauchst. Du kannst den Source-Code mit der MPLAB-IDE laden und übersetzen. Die .hex Datei kannst du dann mit dem PICKIT 3 flashen. Vielleicht kommst du so mit deinem Projekt voran. Die Details der Programmierung kannst du dir bei Interesse ja auch mal später ansehen. Hope this helps, Claus
Klaus F. schrieb: > Und sprut kennt nur Assembler. So wie PICs für Bastler zu der Zeit. Ein C-Compiler musste teuer gekauft werden. Teo D. schrieb: > Natürlich gibst bei den PICs Capture/Compare/PWM Module... ?-O ja, es gibt auch welche mit USB-Host-Funktion. Trotzdem ist PIC für mich gestorben, da es andere Controller gibt, die das auch alles können, und nicht untereinander inkompatibel sind.
Frank K. schrieb: > Du hast zu billig gekauft. Sorry. Der Einstieg muss nicht teuer sein. https://cdn-reichelt.de/bilder/web/artikel_ws/A300%2FDEBO_RELAIS_2CH_01.jpg + https://media.microchip.com/assets/3/9/9/4/e19a83bdb8e4e731c4d7c6b41c31.l.png oder https://media.microchip.com/assets/d/f/d/4/5ceff14579751e63f406122dafe0.l.png
@TO Nachdem Dein Zeil eine eigene Platine ist, würde ich mich an Deiner Stelle nicht auf ein Board einlassen. Such Dir einen halbwegs aktuellen 8-Biter raus. Deine Aufgabe ist so einfach, dass Du keine Besonderheiten brauchst. Nachdem ich einfach immer die aktuelle Version von MPlab-X hab und auch einen passenden Programmer (Pickit4) kann ich dir nur empfehlen, die Tips der Anderen zu lesen. Ist natürlich ein haufen "Müll" was MCHP ausliefert, insbesondere wenn man einfach alles nimmt (8 bit, 16 bit und 32 bit). Deine drei bereits gekauften PIC solltest Du wohl lieber wegwerfen, statt weitere Hürden aufzubauen. Ich persönlich würde zu C greifen, Asm mach ich seit Dekaden nicht mehr. Du kannst auch dein Programm simulieren (wobei ich das auch schon ewig nicht mehr gemacht hab). Dein Problem ist so einfach, dass sich das ohne große Verrenkungen linear runterprogrammieren lässt, sogar ohne timer (die nur wieder zu einer Baustelle werden, insbesondere in Assembler). Was an Deiner Platine fehlt ist eine ICSP-Schnittstelle. So, dann leg los! Und frag! So ganz intuitiv wird es nicht für dich werden, also bis Freitag wirst Du damit nicht fertig. Aber danach wirst Du die Grundlage geschaffen haben, um weitere "Basteleien" für die Fernsteuerung hinzubekommen.
Nick schrieb: > Dein Problem ist so einfach Dann kannst du ihm ja sicher die Lösung in 1/2 Stunde liefern
Klaus F. schrieb: > Dann kannst du ihm ja sicher die Lösung in 1/2 Stunde liefern Ich gehe davon aus, dass der TO sich die Lösung -evtl. mit etwas Mithilfe- selbst erarbeiten möchte. Irgendwas in Richtung Auftragsarbeit konnte ich jedenfalls nicht lesen.
Nick schrieb: > so einfach da braucht es keinen Antrag für "Auftragsarbeit". Profis wie du schütteln das in 3 Minuten aus'm Ärmel!
Klaus F. schrieb: > Profis wie du schütteln das in 3 Minuten aus'm Ärmel! Bei der passenden Controller-Famile guckt man einfach ins hauseigene Archiv. Manche Controller werden auch derart von Bibliotheken unterstützt, dass z.B. eine "PulseIn"-Funktion schon vorgefertigt gibt (Arduino...). Das wäre für ein einmaliges Projekt (oder als Einstieg) die einfachste Lösung.
Rahul D. schrieb: > Wieso sollte es nicht trivial sein? Rahul D. schrieb: > guckt man einfach ins hauseigene Archiv Also noch immer nicht registriert, daß der TE ein blutiger Anfänger ist. Daß PIC auch Captureeinheit hat, wurde ja schon geklärt. Und Dank KI kann man mit GOOGLE was herbeizaubern, wenn --und das ist die Hürde-- man ein paar englische Fachbegriffe zu 'ner Art Frage formuliert: detect frequency with pic12 microchip xc8 using ccp module capture Das Ergebnis ist gar nicht schlecht. Aber natürlich fehlt einiges drumrum, z.B. Hysteresewerte für die Frequenzen, jede Menge Zeitbedingungen und evtl. Fehlerbehandlung. Für den Kenntnisstand des TE wird die Lernkurve trotzdem recht steil sein, und ohne direkte Hilfe (vorort) eher schwierig. Einen Monat hat er ja bereits investiert, bevor dieser Thread gestartet wurde.
Klaus F. schrieb: > Also noch immer nicht registriert, daß der TE ein blutiger Anfänger ist. Doch. Für denjenigen, dem die Aussage zu hoch ist: Klaus F. schrieb: > Profis wie du schütteln das in 3 Minuten aus'm Ärmel! Es war ein "Profi" gemeint, der sowas vielleicht sogar schon in seinem Archiv vorliegen hat. Da braucht man nichts extra "aus dem Ärmel schütteln". Ich behaupte mal, dass es heute einfachere Wege gibt, in die µControllerei einzusteigen. Manche Dinge (aka Arduino) wurden extra für Anfänger und Menschewn ohne direkten Technikbezug entwickelt. Bevor man sich was kauft, weil man das vor zig Jahren im Vorbeigehen, kennen gelernt hat, sollte man sich mal mit aktuellen "µC-Einstiegsdrogen" beschäftigen. Das ist aber ein gern gemachter Fehler.
Ich finde es ja bemerkenswert, dass sich der TO direkt an MPLAB + PIC traut, doch durch die ganzen Hindernisse könnte es evtl. in Frust enden. Bzgl. keiner C Kenntnisse und ebenso in Englisch, wundert es mich, dass noch niemand von euch Arduino erwähnt hat, da hätte er eine deutsche Community. Und wenn er dann doch mal weitergehen möchte könnte er sich ein Programmiergerät kaufen, auf den Bootloader verzichten und trotzdem Arduino verwenden. Oder halt auf Microchip Produkte umsteigen. War gerade so meine Idee, als ich mir die ganzen Probleme durchgelesen habe.
Klaus F. schrieb: > Für den Kenntnisstand des TE wird die Lernkurve trotzdem recht steil > sein, Also kurz. Steile Lernkurve: Viel Erkenntnis in kurzer Zeit. Flache Lernkurve: Viel Zeitaufwand um zum gleichen Kenntnisstand zu kommen. Die X-Achse ist die Zeit, die Y-Achse das erarbeitete Wissen. Der intelektuelle Aufwand ist die Fläche unter der Kurve.
Vielen Dank für eure weiteren Antworten, Bemühungen, Lösungsansätze usw. Da kann ich wieder einiges mitnehmen. Leider bin ich jetzt noch nicht dazu gekommen mich weiter intensiv damit auseinander zu setzen. Das wird jetzt auch sicher noch ein paar Tage dauern. Muss da auch den Kopf für haben um mich in Ruhe an den PC setzen zu können. Aber ich werde berichten wie es weiter gegangen ist.
Adam P. schrieb: > Bzgl. keiner C Kenntnisse und ebenso in Englisch, wundert es mich, dass > noch niemand von euch Arduino erwähnt hat, da hätte er eine deutsche > Community. Weiter oben wurde bereits Arduino erwähnt. Aber es steht bereits die Platine, Pic und PICKit3 sind vorhanden... Werde sehen was raus kommt.
Klaus F. schrieb: > Und Dank KI kann man mit GOOGLE was herbeizaubern Wozu, da hats doch schon ein paar Varianten an Codekonfiguratoren für MPLAB-X.
Markus schrieb: > Weiter oben wurde bereits Arduino erwähnt. Aber es steht bereits die > Platine, Pic und PICKit3 sind vorhanden... Übrigens basierten diverse Bausätze von Conrad auf PIC (z.B. der Mehrkanal-Schalter für einen Kreuzknüppel). Das war die Ära nach dem 68H... > Werde sehen was raus kommt. Lass wieder von dir lesen! Es können dir vermutlich auch diejenigen helfen, die nicht so PIC-affin sind.
> Es handelt sich dabei um ein pulsweitenmoduliertes Signal, welches eine > Signallänge von 1-2ms hat. Bei 1,5ms ist die Neutralstellung und es soll > nichts passieren. Zwischen ca 1-1,3ms soll Relais 1 anziehen und eine > Funktion ansteuern, Relais 2 bleibt aus. Zwischen ca 1,8-2ms soll > entsprechend Relais 2 anziehen und Relais 1 soll aus bleiben. Was ist Signallänge?
Was die C Programmierung betrifft, gibt es schon einiges zu finden: "pic mikrocontroller programmierung tutorial" Auch auf Deutsch, sogar Videos auf Youtube oder aber auch Bücher. z.B.: https://beckassets.blob.core.windows.net/product/readingsample/11042046/9783645650694_excerpt_001.pdf Bei solchen Tutorials muss man sich halt das heraussuchen was auf einen passt, da es ja meist um andere PIC geht. Aber die ersten Infos sollte man so sammeln können. Viel Erfolg!
Adam P. schrieb: > wundert es mich, dass noch niemand von euch Arduino erwähnt hat Mich wundert, dass du schreiben kannst, obwohl du offenbar nicht lesen kannst.
Georg M. schrieb: > Was ist Signallänge? Die Länge eines Signals. SCNR Die ist bei RC-Signalen aber eher unwichtig, da es kein PWM-Signal im herkömmlichen Sinne ist, sondern nur die Pulslänge interessiert. Bei klassischen Fernsteuerungen wiederholen sich die Signale alle 20ms. Das ist heute nicht mehr unbedingt so. Die Pulslänge sollte 1-2ms betragen. Die kann aber auch wieder etwas je nach Hersteller variieren.
Nachtrag: Der ATtiny85 ist nicht mehr für Arduino geeignet. Die entsprechenden Plugins (cores) sind veraltet und funktionieren nicht mehr bzw. lassen sich nicht mehr installieren.
Markus schrieb: > Aber es steht bereits die > Platine, Pic und PICKit3 sind vorhanden... > > Werde sehen was raus kommt. Falls du den Rat an nimmst, den Uralt PIC in die Tonne zu werfen, der kann eigentlich ohne Änderung der Platine durch jeden PIC12 oder PIC16 mit 8 Pins ersetzt werden. Vergiss die blödsinnigen Behauptungen, die wären nicht kompatibel ;-) Am einfachsten findet man solche PICs damit: https://www.microchip.com/maps/Microcontroller.aspx - dritte Zeile CPU Type -> 8bit PIC MCU - achte Zeile Pin Count -> 8/8 - strg[F] CCP -> 1/- (wurde ja weiter oben schon erwähnt, dass ein CaptureComparePWM Modul nicht schlecht wäre) Die Treffer kann man dann rechts z.B. nach Preis sortieren. Die neueren sind wesentlich günstiger, als die Dinos. Ich hätte hier noch ein paar 16F15214 rumgammeln, von denen ich nicht mal weiß, wofür die mal waren. Sind SO8 SMD Gehäuse, aber einer ist schon auf einen DIP-Sockel aufgelötet. Ob der ausgewählte PIC mit deinem Equipment kompatibel ist, kannst du oft auch rechts im Tab „Dev Tools“ sehen. Ansonsten im Installationsverzeichnis von MPLAB-X unter …/MPLABX/v6.20/docs/DeviceSupport.htm
Volker S. schrieb: > eigentlich ohne Änderung der Platine Ok, da das Eingangssignal auf einen CCP Eingang gelegt werden sollte, müsste man das noch von Pin4 nach Pin2 brücken, falls die Platine wirklich schon fertig ist. Ansonsten noch ändern. Die Ausgänge gleich auch weg von den Programmier/Debug Pins6/7 und eine passende Stiftleiste für den SNAP ergänzen. ------------------------------------------------------------------ <EDIT> Uups, der 16F15214 hat ja sogar PPS (Peripheral Pin Select). Somit könnte der CCP1 Eingang intern auf PIN4 gelegt werden. Für einen absoluten Anfänger könnte es Sinn machen, den Einstieg gleich mit dem in MPLABX integrierten MCC (Mplab Code Configurator) zu versuchen. Generiert zwar evtl. eine Menge unnötigen Code, aber zumindest die Initialisierung müsste damit recht schnell gehen. (selber keine Erfahrung)
:
Bearbeitet durch User
Wenn die neuen Versionen von MPLAB X IDE nicht mehr mit dem Pickit3 arbeiten können: Die Programme kann man trotzdem erstellen und ein HEX erzeugen. Das pickit 3 verwendet man dann mit der software "PICkit 3 Stand-Alone Programmer App v1.0 " (zu finden hier: https://www.microchip.com/en-us/tools-resources/archives/mplab-ecosystem) um das hex zu brennen. Hab das nicht getestet (kein pickit3 vorhanden) aber ich arbeite schon lange mit einem sprut-brenner und verwende das erzeugte hex-file mit einer zum Brenner passenden Software.
Hans schrieb: > Wenn die neuen Versionen von MPLAB X IDE nicht mehr mit dem Pickit3 > arbeiten können: ... dann ist das gar nicht schlimm, wenn man nicht nur ein PICkit3 hat, sondern auch noch einen SNAP ;-) Das größte Problem des TO dürfte eher "kann kaum Englisch" sein. Hier mal ein Link zu einem MCC Video das offensichtlich automatisch auf deutsch übersetzt wurde: https://www.youtube.com/watch?v=wzomxIs-Nzg (die Aussprache ist oft gruselig, aber man sollte zumindest einen Eindruck bekommen, wofür MCC gut ist)
:
Bearbeitet durch User
Ein Nachteil des SNAP ist, dass nur low voltage programming möglich ist. In dieser Konfiguration ist MCLR automatisch immer aktiv und kann daher nicht als digitaler Eingang benutzt werden. -Dann muss man eventuell einen PIC mit grösserem Gehäuse wählen. Originaltext: "If LVP is enabled (LVP = 1), the MCLR pin is automatically enabled and cannot be disabled"
Man braucht halt ein einstellbares Netzteil oder eine 9v Batterie mit 3.3V supply rail, um daraus einen HV programmer zu machen. Sollte keine grosse Aktion sein.
Hans schrieb: > "If LVP is enabled (LVP = 1), the MCLR pin is automatically enabled and > cannot be disabled" Guter Punkt, dann müsste das Eingangssignal bei Verwendung eines SNAP auf jeden Fall von /MCLR Pin weg. (Habe ich bisher noch nie drauf achten müssen, weil ich mir die zum Debuggen benötigten Pins immer frei halte)
Volker S. schrieb: > Markus schrieb: >> Aber es steht bereits die >> Platine, Pic und PICKit3 sind vorhanden... >> >> Werde sehen was raus kommt. > > Falls du den Rat an nimmst, den Uralt PIC in die Tonne zu werfen, der > ... Wozu sollte er das tun? Er hat doch alles da, was er braucht. Ich verbastel die Reststange 12F675 hier mit dem PicKit2 und ner alten MPLAB-X. Der letzten für W7 und mit Assembler. Das funktioniert super. Flashen muss man das Hex halt mit der PicKit-Software, weil MPLab sich zu fein fürs 2er Kit ist. Naund? Debuggen geht ohne Zusatzhardware eh' nicht bei dem Zwerg, und für den Rest gibts die Simulation im Lab. Wie weiter oben angemerkt macht es Sinn, nach der Installation das Recourcenverzeichnis mit den Headern zu komprimieren. Spart massig Platz und Ladezeiten.
:
Bearbeitet durch User
Roland E. schrieb: > Wozu sollte er das tun? Er hat doch alles da, was er braucht. Darum "falls" (es gibt ja mehrere Möglichkeiten unpassende Kombinationen von MPLABX Version, den vorhandenen PICs und Programmiertools zu umgehen) Roland E. schrieb: > Ich verbastel die Reststange 12F675 hier Ich hätte noch ein paar Tausend 16F688. (Würde ich gerne einige abgeben) Roland E. schrieb: > Debuggen geht ohne Zusatzhardware eh' > nicht bei dem Zwerg Warum sollte das nicht gehen? (Pins wären noch ausreichend da - bei einem aktuellen 8Pin PIC)
:
Bearbeitet durch User
Rahul D. schrieb: > Die ist bei RC-Signalen aber eher unwichtig, da es kein PWM-Signal im > herkömmlichen Sinne ist, sondern nur die Pulslänge interessiert. > Bei klassischen Fernsteuerungen wiederholen sich die Signale alle 20ms. Das macht die Aufgabe noch einfacher. Für AVR könnte der Code z.B. so aussehen:
1 | tinyAVR® |
2 | |
3 | VDD 1|‾‾‾‾‾‾‾|8 GND |
4 | PA6 2| |7 PA3 ---- channel A |
5 | PA7 3| |6 UPDI |
6 | input --- PA1 4|_______|5 PA2 ---- channel B |
7 | |
8 | 1.0ms - 1.3ms: PA3 (channel A) |
9 | 1.8ms - 2.0ms: PA2 (channel B) |
1 | #include <avr/io.h> |
2 | |
3 | uint16_t pl; // pulse length |
4 | uint8_t chA; // channel A flag |
5 | uint8_t chB; // channel B flag |
6 | uint8_t cnt; // timeout counter |
7 | |
8 | int main(void) |
9 | {
|
10 | PORTA.DIRSET = PIN3_bm; // PA3 output |
11 | PORTA.DIRSET = PIN2_bm; // PA2 output |
12 | |
13 | _PROTECTED_WRITE(CLKCTRL.MCLKCTRLB, CLKCTRL_PDIV_10X_gc | CLKCTRL_PEN_bm); // 2 MHz Main Clock |
14 | |
15 | RTC.CLKSEL = RTC_CLKSEL_INT1K_gc; // 1024 Hz from OSCULP32K |
16 | while(RTC.PITSTATUS > 0) {} // wait for synchronization |
17 | RTC.PITCTRLA = RTC_PERIOD_CYC64_gc | RTC_PITEN_bm; // 62ms period, enable PIT |
18 | |
19 | EVSYS.ASYNCCH0 = EVSYS_ASYNCCH0_PORTA_PIN1_gc; // PA1 as event generator |
20 | EVSYS.ASYNCUSER0 = EVSYS_ASYNCUSER0_ASYNCCH0_gc; // TCB as event user |
21 | |
22 | TCB0.CTRLB = TCB_CNTMODE_PW_gc; // pulse-width measurement |
23 | TCB0.EVCTRL = TCB_CAPTEI_bm; // enable input capture event |
24 | TCB0.CTRLA = TCB_CLKSEL_CLKDIV2_gc | TCB_ENABLE_bm; // 1 MHz, enable TCB |
25 | |
26 | while(1) |
27 | {
|
28 | if(TCB0.INTFLAGS) |
29 | {
|
30 | TCB0.INTFLAGS = TCB_CAPT_bm; // clear TCB0 interrupt flag |
31 | pl = TCB0.CCMP; // ascertained pulse length |
32 | cnt = 0; // clear timeout counter |
33 | if(pl > 1000 && pl < 1300) |
34 | {
|
35 | PORTA.OUTCLR = PIN2_bm; // channel B off |
36 | chB = 0; // clear channel B flag |
37 | if(chA) |
38 | PORTA.OUTSET = PIN3_bm; // channel A on |
39 | else
|
40 | chA = 1; // set channel A flag |
41 | }
|
42 | else if(pl > 1800 && pl < 2000) |
43 | {
|
44 | PORTA.OUTCLR = PIN3_bm; // channel A off |
45 | chA = 0; // clear channel A flag |
46 | if(chB) |
47 | PORTA.OUTSET = PIN2_bm; // channel B on |
48 | else
|
49 | chB = 1; // set channel B flag |
50 | }
|
51 | else
|
52 | {
|
53 | PORTA.OUTCLR = PIN3_bm; // channel A off |
54 | PORTA.OUTCLR = PIN2_bm; // channel B off |
55 | chA = 0; // clear channel A flag |
56 | chB = 0; // clear channel B flag |
57 | }
|
58 | }
|
59 | if(RTC.PITINTFLAGS) // monitoring |
60 | {
|
61 | RTC.PITINTFLAGS = RTC_PI_bm; // clear PIT flag |
62 | cnt++; // increment |
63 | if(cnt > 2) // timeout (no input pulses) |
64 | {
|
65 | PORTA.OUTCLR = PIN3_bm; // channel A off |
66 | PORTA.OUTCLR = PIN2_bm; // channel B off |
67 | chA = 0; // clear channel A flag |
68 | chB = 0; // clear channel B flag |
69 | }
|
70 | }
|
71 | }
|
72 | }
|
Volker S. schrieb: > Ich hätte noch ein paar Tausend 16F688. (Würde ich gerne einige abgeben) Welches Package? Amgedachter Preis per 10/50/100? > Roland E. schrieb: >> Debuggen geht ohne Zusatzhardware eh' >> nicht bei dem Zwerg > Warum sollte das nicht gehen? (Pins wären noch ausreichend da - bei > einem aktuellen 8Pin PIC) Manchen fehlt ganz schlicht die Hardware dafür. Siehe Microchip "Header Board Specification". ICSP können sie deswegen natürlich immer noch.
Cartman E. schrieb: > Volker S. schrieb: >> Ich hätte noch ein paar Tausend 16F688. (Würde ich gerne einige abgeben) > > Welches Package? > Amgedachter Preis per 10/50/100? Im SO-14 Gehäuse.Sind größtenteils nicht mehr im Band, hat mal irgendwer hier angeschleppt. Würde ich in Bastlermengen verschenken, bzw. gegen Portokosten abgeben. >> Roland E. schrieb: >>> Debuggen geht ohne Zusatzhardware eh' >>> nicht bei dem Zwerg >> Warum sollte das nicht gehen? (Pins wären noch ausreichend da - bei >> einem aktuellen 8Pin PIC) > > Manchen fehlt ganz schlicht die Hardware dafür. > Siehe Microchip "Header Board Specification". > ICSP können sie deswegen natürlich immer noch. Braucht man das denn bei den aktuellen PICs noch? (beim 12F629 oder 16F688 natürlich schon)
Volker S. schrieb: > Cartman E. schrieb: >> Welches Package? >> Amgedachter Preis per 10/50/100? > Im SO-14 Gehäuse.Sind größtenteils nicht mehr im Band, hat mal irgendwer > hier angeschleppt. Würde ich in Bastlermengen verschenken, bzw. gegen > Portokosten abgeben. Ja, das klingt nett, wäre mir aber zu wenig fasslich. Ich betreibe keinen gewerblichen Handel mit meiner Bastelkiste. Beim Chinesen mit MOQ 100 Stck bekomme ich die kleinen Midramge-PICs je nach Typ für 6 bis 9 Euro + PP, und ich würde mir die tendenziell dann eher dort bestellen. Die sind eventuell auch Schüttgut. ☺ Liefert er dann nur schön bedruchke Leergehäuse, könnte ich beim Händler oder bei Paypal mein Glück versuchen. Du könntest also schon einen Preis (inkl. PP) für 50 Stück ansagen. >>> Roland E. schrieb: >>>> Debuggen geht ohne Zusatzhardware eh' >>>> nicht bei dem Zwerg Der erste (8-bit) PIC der mit zugelaufen ist, war ein 16F819. Den konnte man mit dem MPLAB und einem Pickit2-Clone debuggen. Das habe ich zufrieden registriert, aber dann doch viel lieber den Simulator benutzt. Der liefert auch im Fall von Silicon- oder Designerrata immer exakte Ergebnisse. Man denke nur an den Timer0. ☺ Die Peripherie ist zwischen den 8/14-Pinnern und dem 16F819 hinreichend ähnlich/gleich, dass man auch auf dem entwickeln kann, und dann final den 8/14-Pinner benutzt. Ich vermisse es also nicht besonders.
Cartman E. schrieb: > Du könntest also schon einen Preis (inkl. PP) für 50 Stück ansagen. 50 Stück, lasse ich noch als Bastlermenge durchgehen, damit sich das Porto bei den alten Dingern überhaupt lohnt ;-)
:
Bearbeitet durch User
Meine gööte, welch ein Theater! Eine Woche Diskussion. TO längst verschollen. Es geht doch nur darum, abhängig von der Kanalimpulslänge, eines von 2 Relais zu schalten. Also vor 50 Jahren war das, wenn auch nicht ganz optimal, noch recht einfach zu bewerkstelligen. ;-)
Max M. schrieb: > ... Also vor 50 Jahren war das, wenn auch nicht ganz > optimal, noch recht einfach zu bewerkstelligen. ;-) Die traurige Bilanz heute: Manche müss(t)en das immer noch so aufbauen, weil sie die 35 Befehle nicht in das Organ zwischen ihren Ohren gespeichert bekommen. Hat Mann diese Hürde allerdubgs gemeistert, steht einem die ganze Welt offen.
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.






