Hallo Ich möchte einen kleinen ISP programmer bauen und habe dazu die Schaltung aus dem Artikel zum Bierddeckelprogrammer(http://www.mikrocontroller.net/articles/Bierdeckel-Programmer) nachgebaut. Ich habe jedoch ein Problem mit der Software. Ich habe diese Datei(http://guloshop.de/f/sources/guloprog_src_0_3.zip) heruntergeladen und entpackt, dann make main.hex gefolgt von make flash und make fuses aufgerufen. Dann habe ich den ATtiny in die Schaltung gesteckt und diese an den PC angeschlossen. Es wird jedoch kein neues USB Gerät erkannt und das ist mein Problem! Bitte um Hilfe P.S.: Ich verwende Ubuntu
:
Bearbeitet durch User
Den in diesem Programmiergerät verbauten µC kannst Du nur mit einem anderen Programmiergerät programmieren, nicht aber im Programmiergerät selbst, denn das funktioniert ohne programmierten µC noch nicht.
:
Bearbeitet durch User
Das war mir klar! Ich habe ihn mittels einem Arduino Uno mit ArduinoISP programmiert --> ohne Fehlermeldung. Wenn meine Schaltung keine Fehler aufweist und ich auch keine Fehlermeldung beim programmieren bekomme, woran liegt es dann? Habe ich einen Schritt ausgelassen (make main.hex, make flash make fuses)?
Roman B. schrieb: > Das war mir klar! Ah. Nun, dann wirst Du ein Messgerät nehmen müssen und Deinen Aufbau Verbindung für Verbindung durchmessen, um zu sehen, wo es Abweichungen zur Schaltungsvorlage gibt.
Falls der irgendwann mal funktionieren sollte :-), willst du den dann so benutzen, oder doch lieber gleich eine vernünftige Platine dafür machen?
Habe ein Layout mit Eagle gezeichnet. Ich möchte daraus meine erste Platine ätzen. Ich habe nur daheim keinen Laserdrucker, deshalb muss ich bis Dienstag warten! Aber es müsste doch auch so funktionieren, ich finde einfach keinen Fehler!
Hast du alle Verbindungen auf Leitfähigkeit und auf Kurzschlüsse zueinander gecheckt?
Ich finde einfach keinen Fehler! Keine fehlerhaften Lötbrücken, keine falsch verbundene Leitungen,...
Neu eingesteckte Geräte kann ich mit dmesg anzeigen, oder? Nach jedem Verbinden von PC und Platine kommt bei der dmesg ausgabe ein Eintrag hinzu. Dieser sieht so aus: [12155.877581] usb 2-1.1: new low-speed USB device number 60 using ehci-pci Die Nummer (in diesem Fall 60) steigt immer um 1. Es kommt allerdings kein Eintrag unter /dev dazu! Muss ich vielleicht noch irgendwelche Treiber installieren?
:
Bearbeitet durch User
Keine neuen Geräte mit lsusb! Mit dmesg bekomme ich auch folgende Fehlermeldungen: [12974.849466] usb 2-1.1: device not accepting address 85, error -32 bzw. [12909.565448] usb 2-1.1: device descriptor read/64, error -32 Die Fehlermeldungen kommen aber erst nach einer gewissen Zeit und mehr oder weniger abwechselnd. Falls ich das Ganze nicht zu laufen bringe, kann ich dann den Attiny nochmal neu programmieren und in eine andere Schaltung einbauen? Habe gelesen, dass bei diesem Projekt eine Fuse gesetzt wird, die das neuprogrammieren ohne HV-Programmer unmöglich macht. Stimmt das?
:
Bearbeitet durch User
Ein neues USB Gerät wird auch ohne Treiber mit lsusb angezeigt. Sind deine Zenerdioden richtig herum? Ja du bräuchtest einen HV-Programmer, weil du deinen Reset Pin als I/O Pin verwendest.
Probier 'nen anderen Controller! Wirkt oft Wunder! ;-) (Ich hatte ein ähnliches Problem mit einem Attiny 2313.)
Der Pluspol der Zenerdioden ist auf GND, der Minuspol ist jeweils auf D- bzw. D+
Blende22 schrieb:
Probier 'nen anderen Controller! Wirkt oft Wunder! ;-)
(Ich hatte ein ähnliches Problem mit einem Attiny 2313. Inhalt löschen!)
> Der Pluspol der Zenerdioden ist auf GND, der Minuspol ist jeweils auf D-
Du meinst, dass die Anode an Masse geht? Das wäre verkehrt rum!
Ansonsten ist Dein Aufbau hübsch.
Blende22 schrieb: >> Der Pluspol der Zenerdioden ist auf GND, der Minuspol ist > jeweils auf D- > Du meinst, dass die Anode an Masse geht? Das wäre verkehrt rum! > Ansonsten ist Dein Aufbau hübsch. Jetzt habe ich mir selbst ein Ei gelegt! ;-) *schäm!* Ja! Passt schon!
Blende22 schrieb: >> Der Pluspol der Zenerdioden ist auf GND, der Minuspol ist jeweils auf D- > Du meinst, dass die Anode an Masse geht? Das wäre verkehrt rum! > Ansonsten ist Dein Aufbau hübsch. > Der Pluspol der Zenerdioden ist auf GND, der Minuspol ist jeweils auf D- Das ist schon richtig aber warum soll da eine ein Z-Diode mit mehreren 10pF hin. Mach sie weg. Wenn schon einen Schutz, dann mit speziellen "USB-Schutzdioden". Die haben ganz wenige pF.
> Wenn schon einen Schutz, dann mit speziellen "USB-Schutzdioden". Die > haben ganz wenige pF. In dem Fall kannst Du Kapazitäten auch ganz weglassen! Der Fehler liegt in Deinem Fall bestimmt woanders!
>> dann mit speziellen "USB-Schutzdioden"
das sind keine Schutzdioden, sondern sie begrenzen die Spannung auf dem
USB Bus auf 3,6V. Also drinnen lassen.
> Also drinnen lassen.
und richtig einbauen.
(Die Definition hat mich irritiert)
Das Problem liegt wohl eher in der Software. USB ist relativ pingelig was das Timing angeht. Hier wird ein Software USB (V-USB) verwendet, zudem noch ohne externem Quarz. Da sind Probleme sozusagen "vorprogrammiert". Jeder 2€ USBASP aus China verwendet einen ATMega8 mit 12MHz Quarz. Beides beruht übrigens auf der Software von Fischl. Mit den China Teilen, die man natürlich auch teurer selber bauen kann, habe ich noch keine Probleme gehabt.
> Mit den China >Teilen, die man natürlich auch teurer selber bauen kann, habe ich noch >keine Probleme gehabt Ich auch nicht! Die liefern prompt und günstig und sind äusserst zuvorkommend. In dieser Hinsicht könnten sich etliche einheimische Firmen Vieles abpausen! Auch, was die Versandbeträge betrifft! Wir haben zwar keinen Zoll mehr, aber dafür Strassenräuber in Form von Versandgebühren. Wenn man in China direkt bestellt, schaut es noch anders aus..
Hi. Sollte es mit dem Bierdeckelprogrammer nichts werden, so kannst du dir auch ein tinyUSBboard (http://matrixstorm.com/avr/tinyusbboard/) aufbauen. Das hat zahlreiche Zusatzfunktionen und kann auch als USBasp Programmer verwendet werden (ist als eine der Beispielfirmwares erhaeltlich). Software (Firmware und Beispiele) ist vorkompiliert verfuegbar. Die Defaultfirmware arbeitet zudem als Selbsttest. Die Feherquellen reduzieren sich somit (fuer DIY Veraeltnisse) auf ein Minimum. MfG
Nimm das: http://shop.myavr.de/Topseller/mySmartUSB%20light.htm?sp=article.sp.php&artID=200006 Ist bestimmt kein verkehrter Ratschlag! Geht von USB auf ISP
Also: neuer Chip mit make flash und fuses --> selbe zwei fehlermeldungen neuer Chip mit make flash --> keine Verbesserung Trägt das USB Device den Namen USBasp? Falls ja, wurde es zwei mal erkannt! Jetzt jedoch nicht mehr --> möglicherweise gibt es einen Wackelkontakt. Wo kriege ich einen HVISP Programmer? Kann ein Arduino Uno das?
Ich werde versuchen den Fehler weiterhin zu finden, aber ich glaube ich werde mir einen Programmer aus China bei Ebay bestellen oder einen HVISP Programmer kaufen, jenachdem was soetwas kostet!
:
Bearbeitet durch User
Roman B. schrieb: > Wo kriege ich einen HVISP Programmer? http://mdiy.pl/atmega-fusebit-doctor-hvpp/?lang=en
Günstiger geht's wohl nicht. Und er funktioniert garantiert: http://www.ebay.de/itm/310506909410?ru=http%3A%2F%2Fwww.ebay.de%2Fsch%2Fi.html%3F_sacat%3D0%26_from%3DR40%26_nkw%3D310506909410%26_rdc%3D1
Habe den Wackelkontakt gefunden, allerdings nicht behoben! Wenn man den Daumen auf die Pins der USB Buchse legt, wird das Gerät erkannt. USBasp und www.fischl.de wird angezeigt! Woran könnte das liegen? Ich habe nämlich auch weiterhin keine Ahnung, wo ich nachbessern muss! Danke für die Links! Wenn der Bierdeckelprogrammer weiterhin nicht funktioniert, werde ich auf ebay einen usbasp bestellen.
Kannst du von Pin2 der USB-Buchse einen Widerstand von etwa 1,5K Ohm nach Vcc messen?
Nein. Unter welcher Bezeichnung würde das Ding unter /dev auftauchen?
??? Pin2 am USB ist derjenige, welcher über einen 68 Ohm Widerstand an Pin2 des µC gehen müsste.
Vergiss, was ich geschrieben habe. Ich habe mich auf die Schaltung auf: http://www.recursion.jp/avrcdc/cdc-spi.html bezogen.
Roman B. schrieb: > Nein. Unter welcher Bezeichnung würde das Ding unter /dev auftauchen? Mit garkeiner, zumindest macht das mein USBasp so. Macht aber nix, kannst ihn trotzdem benutzen (im Makefile als Gerät "usbasp" und als Verbindung "usb" eintragen) (Eigentlich müsste er irgendwo in /sys zu finden sein, hab ihn aber noch nicht gefunden..) [EDIT] Die passenden Rechte vorausgesetzt. Dazu einen Datei /etc/udev/rules.d/99-USBasp.rules anlegen:
1 | # USBasp - USB programmer for Atmel AVR controllers |
2 | # Copy this file to /etc/udev/rules.d so |
3 | |
4 | # According to http://www.ladyada.net/make/usbtinyisp/avrdude.html |
5 | # The udev examples given don't work on some systems as the SYSFS parameter is deprecated. |
6 | # The following rule works on recent Ubuntu systems and should probably work on other newer Linux systems: |
7 | SUBSYSTEM=="usb", ATTR{product}=="USBasp", ATTR{idProduct}=="05dc", ATTRS{idVendor}=="16c0", MODE="0666" |
an/abstecken und sollte gehen
:
Bearbeitet durch User
Wozu brauche ich diese Datei? Wenn ich das Ding anstecke(und den Daumen auf die Pins lege), schreibt dmesg: [24448.544461] usb 2-1.1: Product: USBasp [24448.544466] usb 2-1.1: Manufacturer: www.fischl.de Allerdings bekomme ich eine Fehlermeldung, wenn ich avrdude aufrufe: avrdude -p m328p -c usbasp -t avrdude: Warning: cannot query manufacturer for device: error sending control message: Operation not permitted avrdude: error: could not find USB device "USBasp" with vid=0x16c0 pid=0x5dc avrdude done. Thank you.
:
Bearbeitet durch User
Wenn ich avrdude als root ausführe schreibt er : Broken Pipe Hab die Datei angelegt. Muss ich jetzt neustarten?
So: Nach einem Neustart schreibt avrdude jetzt immer: Broken Pipe stat Operation not permitted
Roman B. schrieb: > Wenn ich avrdude als root ausführe schreibt er : Broken Pipe Kenne ich nicht.. ich kenne nur:
1 | avrdude -p attiny2313 -P usb -c usbasp -U flash:w:main.hex |
2 | avrdude: error: could not find USB device "USBasp" with vid=0x16c0 pid=0x5dc |
3 | |
4 | avrdude done. Thank you. |
-> USBasp nicht angesteckt / funktioniert nicht und
1 | avrdude -p attiny2313 -P usb -c usbasp -U flash:w:main.hex |
2 | |
3 | avrdude: error: programm enable: target doesn't answer. 1 |
4 | avrdude: initialization failed, rc=-1 |
5 | Double check connections and try again, or use -F to override |
6 | this check. |
7 | |
8 | |
9 | avrdude done. Thank you. |
-> Keinen zu programmierenden AVR erkannt. > Hab die Datei angelegt. Muss ich jetzt neustarten? Ab- und wieder anstecken reicht
Danke vielmals!!! Jetzt funktionierts!!! Zwar nur wenn man einen Finger auf die USB Pins legt, aber es funktioniert!! Hat noch jemand eine Idee, woran das liegen könnte?
Ich würde mal ausprobieren ob es unbedingt ein Finger sein muß um die Schaltung zum laufen zu bringen. Vielleicht tuns auch z.B. Kondensatoren. Einen Finger in die Schaltung einzulöten ist für mich keine Lösung. Vielleicht kann dir auch Markus Weber (Firma: guloshop.de) (m-w) helfen. Viel Spaß weiterhin.
Wie viele Zwischenfälle muss es denn noch geben, damit diese leidige und sehr inkompatible AVR-USB Bastelei endlich verschwindet?
Danke!! Das war der Fehler! Die Masse war nicht am Gehäuse angeschlossen! Das sollte man aber in den Artikel reinschreiben, es steht nämlich nirgendwo!
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.