Hallo zusammen, Ich hab da mal ne Frage zum Thema I/O. Ich kaufe 10 AVRs von Reichelt und nur die Hälfte schafft es seine I/O Pinst auf echte 5V zu schalten. Der Rest bringts nur auf knappp 2,5 V und bei minimaler Belastung durch eine LED z. B. bricht die die Spannung auf 0.8 V zusammen. Beim Tiny 13 hatte ich das Problem schon des öffteren und beim Mega 32 bis jetzt einmal. Hatte schon jemand die gleiche Erfahrung?
Egal welches Programm oder welche Beschaltung. Ich Flashe AVR-A mit einer Software (egal welche) und dann Flashe ich AVR-B mit der gleichen Software nur einer schaffts auf die 5V und der andere ned. Fuse bits sind bei beiden Controllern gleich. Ich glaub das die vielleicht nen ESD schaden haben.
Quatsch mit Sauce. Die einen schaffen deine Fehler zu kompensieren die anderen nicht. Wie getippt, schaltplan und Code her.
Peter schrieb: > Egal welches Programm oder welche Beschaltung. Ist aber nicht egal ;-) Vielleicht hast Du einfach vergessen, den jeweiligen Pin auf Ausgang zu schalten. Wenn die Spannung bereits beim Anschluss einer Simpelst-LED (ich nehme mal an, dass es sich nicht um eine High-Power-Variante handelt) zusammenbricht, sieht das so aus, als ob der Pin weiterhin auf Eingang geschaltet ist. Allenfalls hast Du es gerade noch geschafft, die internen Pullups einzuschalten. > Ich Flashe AVR-A mit > einer Software (egal welche) und dann Flashe ich AVR-B mit der gleichen > Software nur einer schaffts auf die 5V und der andere ned. Fuse bits > sind bei beiden Controllern gleich. Du testest beide AVRs in derselben oder in der gleichen Schaltung? Vielleicht hat die Schaltung für AVR-B ja einen Kurzschluss am betroffenen Pin? Wird der AVR vielleicht heiß? Ohne Programm und Schaltplan ist das alles aber nur Spekulation.
Peter schrieb: > Data Direktion Register passt. LEDs sind low power leds. Du schreibst 6 bits in ein 8 Bit Register was sind mit den zwei anderen Bits? Die bleiben sich selbst überlassen?
>Low Power LED mit 220R ????? Also. Wenn man LEDs nicht fuer Beleuchtungszwecke braucht, genuegen 3.3k in Serie an 5V.
wiso 8... der Attiny hat 6 i/o pins davon ist einer der Reset. Und ob der Widerstand 220 Ohm ist oder mehr ist egal da laut Datenblatt der AVR diese Last Problemlos treiben kann.
Peter schrieb: > Der Rest bringts nur auf knappp 2,5 V und bei minimaler Belastung durch > eine LED z. B. bricht die die Spannung auf 0.8 V zusammen. Das ist merkwürdig, LEDs leiten nicht unter 1,6V. Peter schrieb: > Hatte schon jemand die gleiche Erfahrung? Definitiv nein. Allerdings sind nur 100nF für die 5V etwas schwach, schalte mal einen 220µF parallel. Und das BOR mußt Du enablen. Vielleicht kriegst Du kein richtiges Reset und der Programcounter startet irgendwo. Peter
der ADC Pin ist keinesfalls offen. Er bekommt seine Spannung von R9 (Spannungsteiler mit dem NTC). Die Schaltung funktioniert so auch schon in anderen Schaltungen.
moin, ich kenne Deine adc.h nicht, aber du liest adc 3 und hast adc 1 verdrahtet, oder ist es noch zu früh für mich Raik
stimmt da hast du teilweise recht. Ich lese ADC2 aus und nicht ADC1 wie du behauptest aber da bin ich wohl um ein bit verrutscht.
Definitiv Mist ist es, den Reset fest auf 5V zu legen. Möglicherweise führt der Controller dadurch keinen ordentlichen Reset durch und startet in einem nicht definierten Zustand. Der eine Controller läuft trotzdem, der andere nicht. Zumindest ist es das einzige, was ich an Fehlern im Schaltplan erkennen kann. Die 5V vom Reset solltest du schleunigst wegnehmen und einen Pullup von 10k reinhängen. Oder ganz offen lassen. Das schadet auch nicht. mfg.
Thomas Eckmann schrieb: > Definitiv Mist ist es, den Reset fest auf 5V zu legen. > > Möglicherweise führt der Controller dadurch keinen ordentlichen Reset > > durch und startet in einem nicht definierten Zustand. Der eine > > Controller läuft trotzdem, der andere nicht. > Zumindest ist es das einzige, was ich an Fehlern im Schaltplan erkennen > kann. > > Die 5V vom Reset solltest du schleunigst wegnehmen und einen Pullup von > > 10k reinhängen. Oder ganz offen lassen. Das schadet auch nicht. > > mfg. Meine Rede Beitrag "Re: AVR schafft keine 5V"
@Ich wie wärs mit sinnvollen Beiträgen? Da hab ich den header noch nicht aktuallisiert da es ursprünglich mal 2 Leds waren und nur 2 Transistoren.
Moin! Scheint hier ein gern begangener Fehler zu sein, den *Reset-Eingang nicht ordentlich zu beschalten. Da gehört ein Kondensator nach Masse 'ran, sonst nix! Ich bevorzuge gutes Material wie X7R und die Größe ist fast irrelevant. Hier nutze ich 100n wie das andere Vogelfutter zum Verblocken der Betriebsspannungen, um die Zahl der unterschiedlichen Bauteile zu reduzieren. Da freut sich die Lagerhaltung, der Besteller usw.. Alternativ kann man zusätzlich einen Widerstand nach +5V ziehen - aber eben nur zusätzlich. AVRs enthalten bereits einen festverdrahteten Pull-up-Widerstand. So, das Thema ist hoffentlich langsam ausgestanden. Gruß - Wolfgang
Thomas Eckmann schrieb: > Definitiv Mist ist es, den Reset fest auf 5V zu legen. Das ist kein Mist, sondern erlaubt. Damit kann Reset keine Antenne für Störungen bilden. Ich mach das auch, wenn ich keinen ISP-Anschluß vorsehe. Thomas Eckmann schrieb: > Die 5V vom Reset solltest du schleunigst wegnehmen und einen Pullup von > 10k reinhängen. Oder ganz offen lassen. Das schadet auch nicht. Genau das ist großer Mist. Damit ist Reset nämlich eine super Antenne. Wenn nicht direkt an VCC, dann müssen 100nF gegen GND ran. BOR = Brown-out Reset Peter
also das mit dem 5V an reset sehe ich auch nicht als fehler, läuft bei mir auch ohne Probleme. Ich denke immer noch das der Pin als eingang mit PullUp geschaltet ist, das würde so ein verhalten erklären.
Deine adc_init Routine finde ich nicht. Kann es sein, dass diese DDRB wieder zerschießt? Maskiere sie mal aus.
Wolfgang schrieb: > Scheint hier ein gern begangener Fehler zu sein, den *Reset-Eingang > nicht ordentlich zu beschalten. Da gehört ein Kondensator nach Masse > 'ran, sonst nix! Komisch nur, dass Atmel das in den AppNotes AVR040 und AVR042 gar nicht so sieht. Wenn man ISP nicht benötigt, dann am besten einfach Reset direkt an Vcc legen. Weitere Beschaltung kann man sich dann getrost sparen. Steht auch so in einer der AppNotes drin.
Peter schrieb: > Ich lese ADC2 aus und nicht ADC1 wie > du behauptest aber da bin ich wohl um ein bit verrutscht. Du solltest doch wissen, was Du ausliest. Auch ein korrektes Schaltbild wär' nicht schlecht, bei dem die Pin-Funktionen mit dem Datenblatt übereinstimmen. Laut DB des Tiny13 ist ADC3 an PB3 und ADC2 an PB2. Im Schaltbild ist's falsch. Wo genau hängt der Sensor denn dran ? Ist wenigstens Beinchen Nummer 3 richtig ? Bei 3 wär's der ADC2 und der hat 'nen Pullup, vorausgesetzt der Compiler fügt die nicht vorhandenen Nullen vorn und nicht hinten ein. Bei Ports mit <8 Pinsgelten die nicht vorhandenen Bits als "reserved" > For compatibility with future devices, reserved bits should be written > to zero if accessed. und haben mit 0 geschrieben zu werden. Also kein Grund so 'nen Krampf zu machen: > DDRB = 0b010111;
Wie hast Du die Spannung am LED-Pin eigentlich gemessen? Mit Multimeter oder Oszi? Es könnte ja sein, daß in deiner WHILE(1)-Schleife das Portpin ständig gesetzt und rückgesetzt wird und du demzufolge bei Tastverhältnis 1:1 2.5V mit dem Multimeter misst. Und je nach ADC-Ergebnis und Toleranz kann das bei verschiedenen Tiny variieren... Ahoi, Martin
Super da ist wohl das Schaltbild in dem Schaltplanprogramm falsch... Na toll... Danke für dein Scharfes Auge!
Peter schrieb: > @Ich wie wärs mit sinnvollen Beiträgen? > > Da hab ich den header noch nicht aktuallisiert da es ursprünglich mal 2 > > Leds waren und nur 2 Transistoren. Meine Sinvollen Beiträge kannst du weiter oben lesen
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.