@spanky
Klappt es bei dir jetzt mit dem neuen µC?
Druckbare Version
@spanky
Klappt es bei dir jetzt mit dem neuen µC?
ich habe das selbe problem
am controller kann ws nicht liegen, da ich schon zwei ausprobiert habe.
Den atmega32 und den atmega16. Vlt muss man einen externen quarz benutzen.
Hab auch schon Ponyprog ausprobiert, es geht auch nicht.
dachte als erstes es liegt am 74HC244 habe den 74HCT244 aber auch schon ausprobiert.
Welche programmer benutzt ihr?
Nein. Die sind von Werk aus so eingestellt, dass der interne Quarz verwendet wird.Zitat:
Zitat von russak47
jon
Also bei mir muss es auch an einem defekten Bauteil liegen.
Ich habe jetzt alles probiert. ](*,)
habe mir jetzt einen anderen programmer gebaut und an zwei rechnern getestet. Immer noch kein Erfolg. Ich habe alerdings als Diode die 1N4007 genommen und nicht die 1N4148. Vlt könnte es ja auch daran liegen, was ich aber nicht glaube.
Hat jemand den selben fehler mit einem gekauften Programmer?
Also ein weiterer Fehlfaktor ist raus. Die Schnittstelle funktioniert ohne Probleme (mit altem Drucker ausprobiert).
Die Schaltung werde ich auch noch einmal auf Fehler untersuchen (zum 3. mal mitlerweile! ](*,) ).
Danach könnte ich es höchstens mal mit AVRgcc probieren ( [-o< ) ansonsten muss irgendein Bauteil defekt sein. Oder gibt es noch andere Fehlerquellen?
@Jon
Hat es bei deinem ATmega jetzt geklappt?
Der geht wieder. Hab einfach einen externen Takt eingespeist. Keine Ahnung, weshalb sich die Fusebits verstellt haben. Ich war an denen gar nicht dran. Naja, jetzt geht er wieder :)
jon
Als ich gerade nochmal den Schaltplan für den ISP Programmieradapter angeschaut habe sind mir noch einige Sachen aufgfallen:
Bild hier
Bild hier
1. Im ersten Bild mit dem 9-pol. D-SUB Anschluss ist oben rechts zwischen Kondensator und Diode eine Leiterbahn eingezeichnet, die nach GND führt. Da diese unterbrochen ist habe ich sie auch nicht in meinen Adapter eingebaut. Könnte das ein Fehler sein? Beim Vergleich mit Schaltplan 2 fällt aber auf, dass diese Leiterbahn dort auch nicht eingebaut ist.
2. Eine weitere Seltsamkeit: In Bild zwei ist an den Kondensator neben GND auch noch Vcc angeschlossen. Das macht aber doch gar keinen Sinn, da damit die Diode (auch an Vcc angeschlossen) vor dem Kondensator kurzgeschlossen werden würde, oder? Diese Sache habe ich auch nicht eingebaut. Im anderem Schaltplan wurde diese auch nicht gemacht. :-k
Könnte eine dieser beiden Sachen Ursache für die Probleme sein? ( [-o< )
Ansonsten habe ich in meiner Schaltung keinerlei andere Fehler (?) gefunden.
Die Dioade brauchst du, da der IC sonst Pumpt. Die Diode wird auch nicht an GND angeschlossen, sondern an Pin 20 des ICs. Der Kondensator muss auch rein. das ist ein Abblockkondensator. Da gibt es auch keinen Kurzschluss.
jon
Sorry, aber darunter kann ich mir nichts vorstellen.Zitat:
Zitat von Jon
Achso, dann soll die kleine 20 neben dem Anschluss wohl für Port 20 des ICs stehen? Und dann steht da noch eine 10 daneben. Für Port 10 des ICs?Zitat:
Zitat von Jon
Und dann noch Vcc und GND. Soll man das alles anschließen?
Das war mir eigentlich klar. Den habe ich ja auch eingebaut.Zitat:
Zitat von Jon
Das meinte ich auch nicht. Ich meinte, die Diode wird kurzgeschlossen, im Sinne von überbrückt (an beiden Seiten an Vcc angeschlossen).Zitat:
Zitat von Jon
Beide Schaltbilder sind Identisch wenn man Eagle lesen kan.
VCC stellt nur die + Versorgung des IC's dar,was keine +5V sind.
Gento
Ich kann zwar normale Schaltpläne lesen, aber ich verstehe die Eagle-Logik nicht. Gibt es da irgendeine Seite, wo man "Eagle lesen" lernen kann? Ich habe schon ein bisschen danach gegoogled, aber nichts gefunden.
Falls du die schaltung mit 3V versorgst, wie hier https://www.roboternetz.de/wissen/in...leicht_gemacht
kann es sein, dass deine Spannungsversorgung zu niedrig ist, poste bitte deine schaltung so wie sie jetzt aufgebaut ist, lade eagle von cadsoft.de runter und mach einen plan. poste auch deine .bas datei, damit die leute wissen was du überhaupt als antwort haben willst. Die meldung Could not indentify chip with ID:000000 kommt, weil du keine kommunikation zwischen ATmega und PC hast, und das kann an vielem liegen, vielleicht hast du bei den Fusebits den portc auf I/O-pin eingestellt, dann funkzt das ganze überhaupt nicht, und der chip ist hin...
Die Spannung liegt konstant bei 4,9V und wird durch 2 4700µF Kondensatoren gepuffert.Zitat:
Zitat von fsid
Im Anhang.Zitat:
Zitat von fsid
Was ist die .bas Datei? Ich möchte wissen, ob in meiner Schaltung ein Fehler ist und wenn ja, welcher.Zitat:
Zitat von fsid
Ich komme überhaupt nicht an die Fusebits heran. Wie soll ich sie also verstellen?Zitat:
Zitat von fsid
Wenn du Bascom-AVR compiler hast, dann sieht das ganze dann so aus:
der IC3 ist ein 7805 Voltage Regulator, seh ich das richtig? die 1A-Variante oder die 100mA-Variante. Die 4700µF elkos ziehen doch verdammt viel Strom im einschaltmoment, oder nicht? ich will dich nicht kritisieren, ich will nur verstehen was du vorhast. Bitte nicht falsch verstehen. Man munkelt so in der elektrotechnik 1000µF für 1A. Hast du eine Außenbeschaltung? wenn ja, wie groß ist die stromaufnahme. Ich finde einfach die 2mal 4700µF sind oversized. wocher kommen die 2 spannungen (+5V / -5V)? sieht halt komisch aus.
Danke für deine Antwort O:),
Nein, ich habe den 78S05 (2A).Zitat:
Zitat von fsid
Ich werde es mal nachmessen und meine Ergebnisse posten. Willst du damit sagen, dass evtl. nicht mehr genug Strom für den µC übrigbleibt?Zitat:
Zitat von fsid
Nein, bis jetzt ist die Schaltung nur so weit, wie oben gezeigt.Zitat:
Zitat von fsid
Das sind einfach die Pole der Batterie (+Pol --> +5V und -Pol --> -5V)Zitat:
Zitat von fsid
Wie sieht es mit dem Schaltplan aus? Stimmt das mit dem Programmieradapter soweit?
Deine schaltung ist nicht ganz richtig, 74HC244 braucht eine Spannungsversorgung, d.h. du musst den ISP-Progadapter mit +5V speisen. deswegen wird das ganze auch nicht gehen. Der 78S05 geht auch, ich finde es ist einfach oversized. nimm einfach einen 100n Kerko und einen 100µF elko /16V auf der eingangsseite und ebenfalls auf der anderen, wenig ist ab und zu auch viel, ich meine nur, dass du im einschaltmoment einen hohen strom brauchst. Kommt halt die frage, schafft es der 7805 den Strom oder nicht, die andere frage liefert deine Batterie soviel strom oder nicht.
1. Wenn die Batterie eine Spannung von 5Volt hat, dann sind es nach dem Spannungsregler deutlich weniger als 5Volt.
2. die Btterie, wenn sie 5Volt hat, hat am Pluspol 5Volt und am Minuspol 0Volt. Wären das man Minuspol -5Volt, würde der Spannungregler nur misst machen oder die Steuerelektronik (µC) abrauchen. Du würdest dann nämlich an GND und VCC des µCs eine Spannung von 10Volt mit einem Multimerter messen. Das macht der µC nicht mit.
3. Wenn du zwei 4700µF kondenatoren verwendest, ist deine Batterie verdammt schnell leer, da die zum aufladen recht viel Strom ziehen. Nimm lieber einen 1000µF Kondensator. Sollte erstmal reichen. Wenn die Schaltung mehr als 1A zieht, kannst du einen weiteren 1000µF Kondensator in Reihe einbauen.
4. An den µC sollte noch ganz dicht ein 100nF Keramikkondensator dran.
jon
Guck, So schließt du das an. mach dir über den Spannungsregler keine sorgen, gu brauchst mehr als +5V an der eingansseite. bei -5V und +5V hast du eine Potenzialdifferenz von 10V stimmt alles.
sorry, 2 mal geladen
du kannst dir die -5V als GND vorstellen. die hauptsache ist, dass du auf der ausgangsseite +5V hast!
Warum hohlst du dir denn nicht den Programmer von robotikhardware?
Der kostet zwar 15€ + Versand, zusammen also 20€, danach kannst du dir aber sicher sein, dass du einen ordentlichen Programmer hast, der auch noch funktioniert. Da kannst du dir einigen Frust an der ganze Sache sparen.
Ich denke, dein Fehler liegt irgendwo beim Programmer. Die Ferndiagnose wird nur gerade verdammt schwer...
Bei der µC Schaltung kann man eigentlich nicht viel falsch machen. Beim Programmer eher...
jon
also, ich habe meinen auf einer lochrasterplatine aufgebaut und in ein kleines gehäuse reingemacht. kostenfaktor 4,50€, das wissen machts und nicht das kaufen. kaufen kann man alles.
aber die +5V muss ich trotz allem speisen. hab einen von robotikhardware und einen selber gebaut, funktionieren tun beide. sind beide gleich gut.
Danke für eure Antworten.
Sorry, ich habe Mist geschrieben :oops: . Die Batterien liefern 9V und nicht 5V.
Das mit den 1000µF Kondensatoren kann ich momentan nicht ganz umsetzen (nur einen auf Vorrat, aber besser als nichts).
Am µC ist schon ein 100nF Kondensator (habe nur vergessen den einzuzeichnen).
Sonst stimmt aber alles mit dem Schaltplan? Aber Jon hatte doch geschrieben, dass die Diode an Pin 20 angeschlossen werden würde :-k ? Außerdem bleibt in meinem Schaltplan Pin 10 unbelegt.
Aus dem Schaltplan kann man entnehmen, dass GND an Pin 10 kommt und VCC über die Diode an Pin20. Warum hast du das nicht gemacht?
Bild hier
Wenn die Pins nicht angeschlossen sind, bekommt der IC keinen Strom, kann also nicht funktionieren.
Der Rest sollte eigentlich stimmen.
jon
Ok, danke! O:)
Ich kannte diese Schreibweise nicht. Warum werden diese Anschlüsse nicht an die Zeichnung vom IC angeschlossen, sondern an so einen kleinen Strich angehängt? Ziemlich umständlich.
Werde das dann mal bei meiner Schaltung ergänzen. Hoffe es klappt dann! [-o<
Das ist eine Standarddarstellung bei dieser Art von ICs. Immer wenn du ein Gatter oder ähnliches hast, wird das so abgebildet.
jon
OK. Danke, ich werde dann morgen mal die Ergebnisse posten.
du brauchst nicht unbedingt 1000µF, nur wenn deine Stromaufnahme wegen der "Mitbeschaltung" größer ist als 1A, verstehst du. Ich kann dir mit sicherheit sagen, dass deine schaltung nicht mehr zieht als 100-150mA. das heißt dir würden 100µF/16V vollkommen reichen. Du musst nicht das kaufen was vorgemunkelt wird, sondern du musst immer schauen. Schließe einen multimeter an (seriell im Stromkreis und natürlich richtig gesteckt), stelle ihn auf A= und miss auf der primärseite seriell im stromkreis deine Stromaufnahme, lasse erstmal die elkos weg. ist die Stromafnahme z.B. bei 0.1A brauchst du 100µF, bei 0.5 brauchst du 500µF bei 1A 1000µF. Nicht einfach kaufen, einbauen und gut ist, sondern überlegen wie du geld sparen kannst.
Mit der Spannungsversorgung hättest du auch gleich sagen können, dass es eine blockbatterie ist, die reicht auch vollkommen. darfst halt nie verpolen.
Du musst vorrausschauend arbeiten, jede aktion hat seine wirkung. Du schonst die batterie. du brauchst in einem monat dann halt keine 10, sondern nur eine. :Haue
Vielen Dank für eure Antworten!
@fsid
Naja, später kommt dann ja noch ein gesammter Roboter dran, also ich lasse erst einmal die 4700er. Das passt schon erstmal.
Die Übertragung hat geklappt!!!!!!!!!!!!!!! :cheesy: O:) :P :cheesy: :!: :) *freu*
ich bin schon langsam am verzweifeln :-(
ich habe mir jetzt schon 4 programmer gebaut und den atmega8, 16 und 32 ausprobiert und die schaltung auf meinem steckbrett schon kp wie of geprüft. Der paralellport meines rechner funzt. habe auch schon andere ausprobiert.
ES GEHT EINFACH NICHT!!!
AM Netzteil kann es auch nicht liegen und an den fusebits kann ich auch nix verstellt haben, da ich noch nie eine verbindung hatte. Es geht auch nicht mit und ohne externen takt.
ich verstehe einfach nicht wieso...
Leute, bitte postet gleich die schaltung, oder erklärt es so, das ich verstehen kann.
Nicht sagen "es geht nicht und fertig". Es geht bestimmt, man muss bloß wissen wie. also macht ein schaltungsentwurf, wenn es sein muss auch mit windows paint.
Ponimajesch 4o ja imeju w widu russak47?
um eine verbindung aufzubauen, brauchst du erstmal gar keinen takt, poste die schaltung vom programmer, und die grundbeschaltung...
Kostenlose Schaltplaneditoren sind z.Bsp.: Kicad oder Eagle Demoversion (damit habe ich den Schaltplan oben gemacht).
Hast du schon mal den Steckverbinder (zw. Controller-Programmer) gecheckt?
Hallo,
Ich habe mich wohl doch ein wenig zu früh gefreut: Zwar werden die Programme jedes mal problemlos übertragen, doch dummerweise funktionieren sie nicht:
Wenn ich dieses Programm übertrage, so passiert nichts von dem, was ich geschrieben habe: Portc.0 hat keine Spannung, ebenso Portc.1. Die Ports Portc.2 und Portc.3 stehen jedoch unter Strom.Code:'###################################################
'step2.bas.BAS
'für
'RoboterNetz.de AVR Tutorial in RN-Wissen
'
'Autor: Frank Brall
'Weitere Beispiele und Beschreibung der Hardware
'unter
' http://www.Roboternetz.de oder
' http://www.Roboternetz.de/wissen
'#######################################################
$regfile = "m32def.dat"
$framesize = 32
$swstack = 32
$hwstack = 32
$crystal = 1000000
Config Portc.0 = Output
Config Portc.1 = Output
Config Portc.2 = Output
Config Portc.3 = Output
Do
Portc.0 = 1
Portc.1 = 0
Portc.2 = 1
Portc.3 = 0
Loop
End
Was kann diesmal der Fehler sein??
Config Portc.0 = Output
ersetzen durch
Config Pinc.0 = Output
die andern Ports auch.
Gento
@fsid:
Könntest du so freundlich sein, alles, was dir zu einem Beitag einfällt, in eine Antwort zu schreiben oder, wenn dir etwas neues zwei Minuten später einfällt, und es noch keine Antwort gab, das über EDIT hinzu zu fügen?
Ist nämlich ziemlich nervig zu sehen, dass hier jemand im selben Thread alle Minute bis zwei Minuten eine Antwort schreibt und in dieser nicht wirklich viel aussagt.
Back to the Toppic:
Bei einem Ausgang ist Portx.y schon OK. Nur bei einem Eingang muss es Pinx.y sein. Sonst geht es nicht.
Hast du JTAG ausgeschaltet? Die Pins sind nämlich teilweise von dem belegt.
jon
Oh, Ouups. Das hatte ich in der Bascomanleitung wohl überlesen. Danke für deine Antwort! O:)Zitat:
Zitat von Jon
Edit: Und trotzdem hats nicht geklappt. Jetzt sind alle Pins auf Low.
Übrigens habe ich jetzt dieses Programm versucht:
Da können keine Fehler drinnen sein, da das aus der Roboternetzwiki kommt.Code:'###################################################
'step2.bas.BAS
'für
'RoboterNetz.de AVR Tutorial in RN-Wissen
'
'Autor: Frank Brall
'Weitere Beispiele und Beschreibung der Hardware
'unter
' http://www.Roboternetz.de
'#######################################################
$regfile = "m32def.dat"
$framesize = 32
$swstack = 32
$hwstack = 32
$crystal = 10000000
Config Portc.0 = Output
Do
Portc.0 = 1
Waitms 100
Portc.0 = 0
Waitms 100
Loop
End