Hallo, ich habe mir letztens 50 WS2811 LED's bestellt, die ich über einen ATtiny85-20PU Mikrocontroller steuern wollte. Da ich einen Raspberry Pi besitze (Model B, Revision 2) und man über SPI und avrdude diesen AVR Chip flashen soll,habe ich das auch mal versucht ;) Dabei habe ich mich Schritt für Schritt an diese Anleitung gehalten: http://www.instructables.com/id/Programming-the-ATtiny85-from-Raspberry-Pi/?lang=de .Ich habe den Schaltkreis exakt nachgebaut, Software ist auf dem neusten Stand aber es tut sich nichts... Jedes mal wenn ich den µC flashen will, spuckt avrdude den Error aus: avrdude: error : AVR device not responding avrdude: initialization failed, rc=-1 Double check connections and try again, or use -F to override this check. Ich habe dann mal das OS neu installiert (Raspian), avrdude und zugehörige Software komplett neu installiert aber nie reagiert der µC (laut Avrdude). OK, dachte ich mir... muss ja am µC liegen. Die PINs haben ja schon aus der Verpackung geguckt, der ist sicher kaputt. Also neuen bestellt, angeschlossen -> Mosi an Mosi, Miso an Miso, 3,3v an VCC, GND an GND und den Reset an 22 bzw. GPIO25 des Raspberry's Avrdude drauf und schon wieder dieser Error -.- Kann mir einer vielleicht helfen, das ich dieses Teil geflasht kriege? Avrdude war auf Version 6.1-svn-20130917. Ich habe gelesen, dass Avrdude nicht immer funktioniert aber das gleich bei 2 ATtinys? Ich bin übrigens noch ein Anfänger und ich hoffe ich habe keinen peinlichen Fehler gemacht ;)
Wie rufst du avrdude auf? Beachte, dass manche AVRs im Werkszustand sehr langsam laufen und du diese auch entsprechend langsam programmieren musst. Das musst du avrdude ebenfalls mitteilen. Das OS neu zu installieren bringt in der Regel nichts außer Zeitverlust.
"sudo avrdude -p t85 -P /dev/spidev0.0 -c linuxspi" und die Baudrate hatte ich auf 10000 oder mal weggelassen, da bei den Tutorials immer unterschiedliche Werte benutzt wurden. Das Problem ist, dass ich ja noch nie auf einen der beiden AVR's gekommen bin :/ Avrdude sagt doch, dass der AVR nicht reagiert bzw. nicht mit ihm kommunizieren kann. Ja das das mit dem OS nichts gebracht hat war wirklich Zeitverschwendung :D
Vorweg: Ich habe kein Raspberry und mein avrdude unterstützt kein Linux-SPI. Laut Dokumentation für den Treiber musst du in /usr/local/etc/avrdude.conf (oder /etc/avrdude.conf) den GPIO-Pin für reset einstellen. Suchst du nach "linuxspi" und stellst sicher, dass der dort angegebene Pin für Reset auch der ist, an dem du deinen AVR angeschlossen hast. Wenn das nicht stimmt, wird der AVR nie in den Programmiermodus gehen. Andere benutzen laut Kommentaren den CE0-Pin für Reset (was nicht funktionieren sollte?!?) In jedem Fall hast du erstmal zwei Anregungen. ;-)
Vielen Dank schonmal für deine Bemühungen :) Jedoch habe ich auch dies bereits schon getan. In dem Tutorial wird zwar ein anderer Pin benutzt aber ich habe einmal die Konfigurationen umgeschrieben oder den Pin der in den Konfigurationen nach der Installation angegeben war benutzt. Was genau meinst du mit dem CE0-Pin? Bzw. wo befindet sich dieser?
:
Bearbeitet durch User
Bei I2C hat jedes Gerät eine Adresse, die zuerst gesendet wird, um das am Bus angeschlossene Gerät auszusuchen. Bei SPI hast du stattdessen einen Chip-Enable-Pin, der einem Gerät sagt, dass es sich jetzt gerade angesprochen fühlen soll. Dein Raspberry hat für den SPI0 einen Chip-Enable-Pin CE0, der automatisch gesteuert wird. Ist dann sinnvoll, wenn nur ein Gerät am SPI hängt. Welcher das ist, weiß ich nicht.
Den Pin habe ich gefunden und als Resetpin gesetzt jedoch ohne Erfolg. Dabei musste ich feststellen, dass wiringPi ebenfalls nicht funktioniert! Sobald man die wiringPi-Pinvorgaben nutzen will, schalten sich die USB-Ports ab und ich muss den Pi neu starten... über die Konsole ohne wiringPi hab ich es aber auch versucht... vergeblich. Ich habe außerdem mal alles durchgemessen. Am Reset waren 3,3V, der Mosi Pin hatte ebenfalls 3,3 sowie VCC. Alle anderen waren auf null bzw. Miso so auf 0,22V. Jedenfalls habe ich den Reset auch mal auf 0 bekommen aber das hat auch nichts gebracht :(
> Mosi an Mosi, Miso an Miso, 3,3v an VCC, GND an GND und den Reset > an 22 [..] Und SCK?
> Alle anderen waren auf null bzw. Miso so auf 0,22V
SCK war auf 0 V
> SCK war [..]
..wo angeschlossen? ∗War∗ er angeschlossen, darauf will ich raus.
Achso :) An CLK bzw. Gpio11 (Pin 23) und als Nachtrag: Die SPI-Schnittstelle ist natürlich auch "aktiviert" (Kann man mit raspi-config an- bzw. ausstellen)
:
Bearbeitet durch User
Erster Grundsatz bei Digitalschaltungen: Benutze Abblockkondensatoren! 100n keramisch an jedes VCC-GND-Pärchen unter Minimierung der Drahtlängen. Diagonal quer über den Chip ist elektrisch optimal. Am Besten besorge Dir gleich einen Sack voll davon. Für jeden WS2812 wirst Du übrigens auch einen brauchen. http://www.reichelt.de/Vielschicht-bedrahtet-X7R-10-/X7R-2-5-100N/3//index.html?ACTION=3&GROUPID=3162&ARTICLE=22853&OFFSET=500&WKID=0& Dann: ist außer den Programmierleitungen für das ISP sonst noch etwas angeschlossen?
Danke schonmal für den Tipp :) Denken Sie, dass ein Spannungseinbruch der Fehler sein könnte? (Wegen den Blockkondensatoren) Nein ich habe nur den ATtiny angeschlossen.
:
Bearbeitet durch User
David Schmidt schrieb: > Nein ich habe nur den ATtiny angeschlossen. Was ist an VCC(+AVCC) und GND angeschlossen?
Gab es da nicht eine spzielle Version von avrdude für den Raspi? https://projects.drogon.net/raspberry-pi/gertboard/arduino-ide-installation-isp/ Oder hat avrdude inzwischen offizielle Unterstützung für die Raspi-IOs?
Also in dem Tutorial hat er meine ich die normale Version benutzt und sein Betriebssystem war (wie meins) Raspian. Ihr Link ist ja für das Gertboard. Mit der Software kann man dann wie auf einem Arduino programmieren und der Controller wird über ISP und dem Gertboard geflasht... ein Gertboard habe ich leider nicht.
An Reset sollten beim flashen 0V bzw. GND anliegen und nicht 3V3. Scheint wohl ein Treiberproblem zu sein...
Ja das weis ich, dass eigentlich kein Strom fließen sollte :D Aber auch wenn GND angeschlossen wäre / der Pin keinen Strom bekommt tut sich überhaupt nichts :/
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.