Hallo, ich bin ein Neuling in Sachen Microcontroller und ähnliches und möchte nach Anleitung ein USB-Interface mit dem PIC18F2550 bauen, bis jetzt alles auf Low-cost. Ich hab mir nach angehängtem Schaltplan ein Pic Brenner gebaut, welcher über den Serialport mit dem Pc kommuniziert, so weit alles Gut, denn er wird erkannt :) Nun aber das Problem: Der Pic wird nicht erkannt, welcher wie auf dem Schaltplan zu sehen angeschlossen ist. Ich habe die Programme WinPic und WinPicpgm ausprobiert, beide erkannten den Brenner, aber nicht den Pic und spucken beim beschreiben Fehler aus. Ich bin dankbar für jede Hilfe. MfG Henning
Ich hab nen bischen was ausprobiert und herausgefunden, dass sich der Pic auslesen lässt und anscheinend auch nicht leer ist. Wenn man sich allerdings den Code ansieht, steht überall nur FFFF.
Füge mal noch ein paar Bypass-Kondensatoren beim PIC hinzu. Am besten einen 10uF Elektrolyt um die Spannung am PIC zu stabilisieren und dann noch ein 0.1uF direkt am Versorgunspin des uC um kurze Stromimpulse abzufangen. Letztendlich wird es wohl am besten sein, wenn du den Kerl der diesen 'Brenner' entworfen hat kontaktierst und ihn bittest dir dabei zu helfen, schließlich wird er wissen wie sein Teil funktioniert und was man dabei falsch machen kann. Oder du kaufst dir einfach einen PIC Kit 3 von Microchip. Kostet nicht viel, und du kannst dann auch noch Debuggen und musst dir keine Sorgen machen, dass es nicht funktioniert. Schließlich wirst du vermtulich eh schon die MPLAB IDE von Microchip und C verwenden, da dort schon fertige und umfangreiche USB Bibliotheken verfügbar sind.
Frank M. schrieb: > Füge mal noch ein paar Bypass-Kondensatoren beim PIC hinzu. > Am besten einen 10uF Elektrolyt um die Spannung am PIC zu stabilisieren > und dann noch ein 0.1uF direkt am Versorgunspin des uC um kurze > Stromimpulse abzufangen. vielen Dank für die schnelle Antwort. könntest du das in den Schaltplan einzeichnen, da ich noch nicht so viel Ahnung von der Materie habe?
Als PIC-Anfänger empfehle ich dir auf jedenfall mal http://www.sprut.de anzuschauen. Hier werden dir die PIC-Mikrocontroller bestens erklärt mit allem drum und dran.
Wie ist der Brenner angeschlossen? Direkt am PC (serielle Schnittstelle auf Mainboard) oder über einen USB-zu-COM-Adapter? Welches Betriebssystem wird verwendet? Diese sogenannten "Quick&Dirty"-Brenner bereiten massive Probleme, gerade auch bei "unechten" Schnittstellen. Ich kann mich meinen Vorrednern nur anschließen, kaufe dir einen PICkit3. Der läuft auch unter Win7/8 und mit den aktiuellen PICs.
Henning J. schrieb: > Frank M. schrieb: >> Füge mal noch ein paar Bypass-Kondensatoren beim PIC hinzu. >> Am besten einen 10uF Elektrolyt um die Spannung am PIC zu stabilisieren >> und dann noch ein 0.1uF direkt am Versorgunspin des uC um kurze >> Stromimpulse abzufangen. > > vielen Dank für die schnelle Antwort. > > könntest du das in den Schaltplan einzeichnen, da ich noch nicht so viel > Ahnung von der Materie habe? Na da fehlt dann aber einiges an Erfahrung. Du wirst mit USB überfordert sein, zumindest so ganz ohne Hilfestellung. Schau dich auf Sprut.de um, auch die Beispielprojekte. Du kannst dir auch einfach ein Start-Kit von Microchip kaufen. (es gibt auch welche speziell um USB zu verstehen). Hat mir zumindest stark geholfen. Ich würde dir auch immer noch raten, ein Pic Kit 3 dir zuzulegen, da du dann den uC Debuggen kannst (zumindest mit der Microchip IDE MPLAB, ich weiß ja nicht was du verwendest) Zu den Kondesatoren: Zwischen Pin 19 und 20, direkt am uC ein 0.1uF Keramikkondensator. Parallel dazu (kann auch weiter entfernt platziert werden) ein 1uF-10uF (irgendwas so um den Dreh, kann auch etwas größer sein) Elektrolyt-Kondensator.
egal schrieb: > Wie ist der Brenner angeschlossen? Direkt am PC (serielle Schnittstelle > auf Mainboard) oder über einen USB-zu-COM-Adapter? Welches > Betriebssystem wird verwendet? > > Diese sogenannten "Quick&Dirty"-Brenner bereiten massive Probleme, > gerade auch bei "unechten" Schnittstellen. Ich kann mich meinen > Vorrednern nur anschließen, kaufe dir einen PICkit3. Der läuft auch > unter Win7/8 und mit den aktiuellen PICs. Ich habe den Brenner an einem alten Win XP rechner mit echtem Serial-Anschluss angeschlossen, mit einem 1m Verlängerungskabel (falls das eine Rolle spielt).
Ich habs mal nachgebaut und Fotos gemacht, da ich ein bisschen Angst um meinen PIC hab :) und wollt fragen, ob das so richtig ist und ob ein 100uF Elktrolyt mit 6,3V geht oder lieber einen mit 10uF, aber dann mit 50V oder einen mit 22uF und 16V? Kann es evtl. sein, dass ich den PIC bereits zerstört habe, durch die fehlgeschlagenen Programmierungs-Versuche? Und noch so zur Info, wen es interesiert: Ich bin jetzt fast 17 Jahre alt und möchte ein bisschen Experimentieren, da ich so etwas später vlt. mal beruflich machen möchte. Es muss für mich möglichst günstig gehen, da ich von meinen Eltern, was dies betrifft, nicht wirklich unterstützt werde...
Frank M. schrieb: > Zu den Kondesatoren: > Zwischen Pin 19 und 20, direkt am uC ein 0.1uF Keramikkondensator. > Parallel dazu (kann auch weiter entfernt platziert werden) ein 1uF-10uF > (irgendwas so um den Dreh, kann auch etwas größer sein) > Elektrolyt-Kondensator. Anscheinend bricht die Spannung immer wieder ein, was durch deine Idee etwas verbessert wurde, aber immernoch nicht wirklich geht, denn ich habe es nun geschaft zu mindest 0000 einzubrennen wo vorher FFFF stand. Die LED flackert zuerst und geht letztendlich ganz aus. Noch ne Idee das zu verbessern, dann müsste es geschaft sein ;) Achja: Das Projekt an dem ich arbeite: http://www.sprut.de/electronic/pic/8bit/18f/programm/usbbootloader/usbboot.htm
Die auf dem Kondensator angegebene Spannung ist die maximal zulässige die der Kondensator aushält, 6.3V sind schon etwas kritisch, nimm lieber einen der mehr Spannung verträgt. Nimmst du einen mit einer sehr hohen Kapazität, so läuft der PIC nach Ausstecken der Stromversorgung noch 'ewig' nach, also ich würde zum 10uF oder 22uF greifen. Die Platzierung ist richtig. Ein PIC ist sehr robust und schwer zu zerstören. Die Programmierleitungen (Pin 27 Clock und 28 Data) sind sehr empfindlich was Übersprechen oder Störeinflüsse angeht, versuche sie kurz zu halten und nicht zu überkreuzen. http://sprut.de/electronic/pic/icsp/icsp.htm#kabel Achte dabei auch auf die Kabelführung auf deiner gelöteten Platine, vor allem eben der Clock Leitung. Stecke auch die Kabel direkt neben den Beinen des PICs, nicht an's äußere Ende des Steckbretts und vergewissere dich dass sie guten Kontakt geben. Wie der Programmer funktioniert kann ich dir leider nicht sagen, auch nicht was ein Fehler sein kann oder wo Problemstellen vorliegen könnten. Hast du auch die richtigen Einstellungen in der Programmiersoftware vorgenommen, bspw. dass der interene Oszillator verwendet wird. Schau dir das mal an: http://sprut.de/electronic/pic/icsp/icsp.htm#2 Ist deine Schaltung so im Internet oder hast du sie für dich angepasst. Ist die Schaltung für PIC18 ausgelegt oder für andere? Du versorgst deinen PIC mit was für einer Spannung? 12V? Dann könnte er tot sein. Er verträgt nur 5V. Die 12V Programmierspannung liegen nicht an VDD an, die wirst du vermutlich seperat über einen Spannungsregler bereitstellen müssen.
Henning J. schrieb: > Anscheinend bricht die Spannung immer wieder ein, was durch deine Idee > etwas verbessert wurde, aber immernoch nicht wirklich geht, denn ich > habe es nun geschaft zu mindest 0000 einzubrennen wo vorher FFFF stand. > Die LED flackert zuerst und geht letztendlich ganz aus. > > Noch ne Idee das zu verbessern, dann müsste es geschaft sein ;) Dann funktioniert es ja vermutlich. Dann liegt es vermutlich nur an der Spannungsversorgung, die du momentan von der Seriellen Schnittstelle entnimmst, die vielleicht geschalten ist und 12V liefert, du aber konstante 5V benötigst. Eine Vermutung, schau dir vielleicht nochmal den Originalplan des Programmers an, falls er anders als deiner ist. edit: also wenn ich mich jetzt nicht total täusche, dann ist Pin 5 der RS232 Schnittstelle Masse, irgendwie kann das nicht funktionieren.
Frank M. schrieb: > Henning J. schrieb: >> Anscheinend bricht die Spannung immer wieder ein, was durch deine Idee >> etwas verbessert wurde, aber immernoch nicht wirklich geht, denn ich >> habe es nun geschaft zu mindest 0000 einzubrennen wo vorher FFFF stand. >> Die LED flackert zuerst und geht letztendlich ganz aus. >> >> Noch ne Idee das zu verbessern, dann müsste es geschaft sein ;) > > Dann funktioniert es ja vermutlich. Dann liegt es vermutlich nur an der > Spannungsversorgung, die du momentan von der Seriellen Schnittstelle > entnimmst, die vielleicht geschalten ist und 12V liefert, du aber > konstante 5V benötigst. Eine Vermutung, schau dir vielleicht nochmal den > Originalplan des Programmers an, falls er anders als deiner ist. > > edit: > also wenn ich mich jetzt nicht total täusche, dann ist Pin 5 der RS232 > Schnittstelle Masse, irgendwie kann das nicht funktionieren. Es scheint nun doch nicht mehr zu gehen... Mit der Masse könntest du Recht haben, es müssten theoretisch an Pin 19 und 20 Masse anliegen, was überhaupt nicht funktionieren wird. Praxtisch ist es so: Auf Pin 19 liegt Masse und auf Pin 20 3V (während des Lesevorgangs, danach nicht mehr(auf Pin 20 Masse und auf Pin 19 0,5V!). Die 12V müssten doch auf Pin 1 (_MCLR) sein, oder? -> Auf Pin 1 liegen aber nur 9,8V an. Letztendlich ist die Spannung also nicht hoch genug.
Damit kannst du versuchen die Funktionsweise nachzuvollziehen, da macht es dann auch Sinn, dass VDD auf GND liegt. http://www.talkingelectronics.com/projects/MultiChipPgmr/MultiChipPgmr-01-Intro.html Es werden auch die Spannungen angegeben, zum nachmessen. Vielleicht findest du den Fehler, ansonsten überleg dir einen echten Programmer/Debugger zu kaufen.
Die Seite mit funktionierenden Animationen: http://talkingelectronics.com/FreeProjects/MultiChipPgmr/MultiChipPgmr-P1.html
Frank M. schrieb: > Damit kannst du versuchen die Funktionsweise nachzuvollziehen, da macht > es dann auch Sinn, dass VDD auf GND liegt. > http://www.talkingelectronics.com/projects/MultiChipPgmr/MultiChipPgmr-01-Intro.html > > Es werden auch die Spannungen angegeben, zum nachmessen. Vielleicht > findest du den Fehler, ansonsten überleg dir einen echten > Programmer/Debugger zu kaufen. Gut gemachte Anleitung und Danke für diese Quelle :) Ich hab nachgemessen, es ist überall die richtige Spannung und mit einem Interface-Test von WinPIC konnte ich die LEDs ansteuern, welche Ich an der Clock und an der Datenleitung angeklemmt habe. Diese funktionieren also. ABER wenn ich die LED an der Clock anschalte geht die LED an der 5V Versorgung für den PIC aus. Kann ich einfach extern eine Batterie anschließen um die Versorgung zu gewährleisten? (Ich weiss, dass der Kondensator diese Schwankungen ausgleichen sollte, was aber anscheinend auch nicht richtig geht, sondern nur kurz hält, bis dieser leer ist, da er nicht genügend nachgeladen wird während des laufenden Programmiervorgang.) edit: Ich glaube die Rote LED beim meine Programmer zeigt die 12V (13V) Stromversorgung an, die fürs Programmieren benötigt wird. Welche ebenfalls erlischt, wenn die Clock LED an ist.
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.