Gefunden für adc programm atmega16 - Zum Elektronik Forum |
| 1 - Servos -- Servos | |||
| |||
| 2 - AVR und PIC??? -- AVR und PIC??? | |||
Zitat : ...außerdem konnt ichs ja schon.
Und dann sind dir Interrupts unbekannt? Na, macht nix .
Zitat : soweit ich das richtig gelesen hab ist der unterschied zwischen dem ATmega8 und dem ATmega16 die taktfrequenz oder? wie siehts mit dem speicher aus? reich dann der 8er (ich geh mal davon aus das er weniger hat als der 16ner) für den anfang mit tastern led eventuell display etc. aus? Sie können, ja nach Version des Chips, mit versch. Taktfrequenzen laufen, die sind als Suf... | |||
3 - Ein Laie hat ein DSO138 Mini Oszilloskop gekauft, was nun? -- Ein Laie hat ein DSO138 Mini Oszilloskop gekauft, was nun? | |||
| Hi,
ja, warum hat der Laie denn ein DSO138 Oszilloskop gekauft? Weil ich in einem anderen Thema von "mlf_by" gefragt wurde ob ich ein Oszi habe, jetzt habe ich ein Oszi :-). Ein großes DANKE an dieses Forum und seine Mitglieder, dafür daß ich im fortgeschrittenen Alter noch lerne mit einem Oszi umzugehen! Als erstes wurde die Gebrauchsanweisung mehrfach vor und zurück gelesen um die neuen Begriffe bei so einem Oszi einigermaßen zu verstehen, dann sollte etwas mit dem Oszi gemessen werden aber was? Hm, da ist doch diese Tonleiter die mit einem ATtiny85 erzeugt wird, mal sehen was das Oszi so anzeigt wenn man am Lautsprecher misst. Aha, die Spannung wird als Rechtecksignal angezeigt, und auch die Frequenz der Noten steht da :-). O.K., der erste Test war von Erfolg gekrönt, als nächstes wurde am Lautsprecher eines DFPlayers gemessen. Hm, das sieht doch aus wie die Visualisierung der Bandbreite beim VLC (Mediaplayer): Man könnte jetzt das Oszi dafür benutzen welches ca. 120mA braucht um so eine Spielerei zu basteln, oder es mit einem... | |||
| 4 - Spannungswächter aus Resten ;-) -- Spannungswächter aus Resten ;-) | |||
Zitat : Nnamreh hat am 17 Dez 2021 10:10 geschrieben : Wenn ich es richtig verstanden habe bedarf es bei meiner einfachen Schaltung noch ein paar Kondensatoren vor dem ML317 und danach?100 nF und z.B. 1 µF und 100 µF braucht es nicht nur am LM317 sondern auch an den µC usw. Aber ohne groben Schaltplan kann ich aus der Ferne keinen Rat geben. Selbst mit Oszi ist das Thema schwierig genug. Aber wie schon gesagt würde ich bei Batteriebetrieb auch den 317 rauswerfe und einen LDO-Spannungsregler (Low-Drop-Out) nutzen. Einen Nachteil haben die, sind oft instabiler als ein LM317 und brauchen mehr Kapazität. Einfach im Datenblatt schauen. Wollte z.B. einen LT1086CT vorschlagen, die sind aber aktuell noch teurer als "früher". SMD-Teile (LD1117DT33/LD1117DT50, ...) schlage ich besser nicht vor, oder? | |||
| 5 - 12V Dimmer spielt "Fotoblitz" -- 12V Dimmer spielt "Fotoblitz" | |||
| Ich noch mal...
Da es doch nicht so richtig funktioniert hat,hab ich mich nochmal dran gesetzt. War doch Programmierfehler
(aber ich hab ja nie gesagt,das ich das gut kann)
Da ich in dem Fall ja kein Poti am ADC hab,sondern nur einen einpoligen Umschalter mit Mittelstellung,hab ich den ADC mit zwei Widerlingen ständig auf 2,5V in Ruhestellung. Eine Schaltstellung gibt GND drauf,die andere VCC. Und für den Fall war das "Programm" Schwachsinn. Vor allem die Zeile,die nach jedem auslesen erst mal auf Mittelwert setzt.
Keine Ahnung,wer mir das geflüstert hat... Hab das jetzt mit "Select-Case" gemacht,und schon gehts.
So hier: Code : | |||
| 6 - Thermoelement Lötkolben auswerten für ATMEGA8 OPV? -- Thermoelement Lötkolben auswerten für ATMEGA8 OPV? | |||
Zitat : Ein bekannter hat gemeint das das Programm geändert gehört das die Messung nur statt findet wenn nicht geheizt wird da GND gemeinsam verwendet wird. Möglich, ich habe mir das Programm nicht angeschaut. Andererseits werden Löteisen gewöhnlich mit Vollwellenpaketen angesteuert. Da findet sich immer mal eine Pause zur Temperaturmessung. PWM oder Phasenanschnitt verwendet man wegen der damit verbundenen Störungen nicht. Bei dieser Schaltung ist es möglich, dass der Ausgang des OpAmp eine negative Spannung liefert. Deshalb solltest mindestens einen Widerstand vor den Eingang des ADC legen, der dann den Strom durch die Schutzdioden auf einen ungefährlichen Wert begrenzt. Oder die Verstärkerschaltung so ändern, dass sie keine negativen Spannungen liefern kann. Injektion negativer Ladungen in das Substrat über die Schutzdioden könnte unvorhersehbare Funktionsstörungen in anderen Schaltungsteilen auf dem Chip verursachen. P.S.: | |||
| 7 - Mikrowellekontroller oder konventionell? -- Mikrowellekontroller oder konventionell? | |||
Zitat : Otiffany hat am 16 Jun 2013 23:45 geschrieben : Was ist in diesem Fall günstiger, die Schaltung mit herkömmlicher Technik aufzubauen, oder bringt es Vorteile, einen Microkontroller zu programmieren? Ich sag mal so: Noch vor zwei/drei Jahren hab ich auch versucht alles mögliche mit irgendwelchen IC-Gräbern zu realisieren,weil ich um µC und programmieren einen Bogen gemacht habe wie der Teufel um das Weihwasser. Seit ich aber wenigstens ansatzweise rudimentär programmieren kann,staunt man immer wieder,wie flexibel man mit so einem kleinem Käfer werden kann. Erstens minimiert sich der Bauteileaufwand,und zweitens wenn einem irgendwelche Parameter nicht passen,steckt man den µC halt wieder ins Board,ändert das Programm und startet einen neuen Versuch. Gerade wenn es um Impulse zählen und deren Verarbeitung geht,ist ein so ein Microprofessor geradezu prädestiniert. Ist zwar vielleicht nicht gerade erste Wahl als erstes Programmi... | |||
| 8 - Stufenlose PWM und Motor Schutzschaltung -- Stufenlose PWM und Motor Schutzschaltung | |||
| Sofern die PICKits orginal sind taugen die was. Mit dem PICKit3 kannst du direkt mit MPLAB das Programm in den PIC laden. Das PICKit2 ist älter, wenn du die Standalone-Software dafür findest ist das auch OK.
Wenn du alle 1,5s einen Sensor checken willst brauchst du nicht den SLEEP-Befehl benutzen. Der ist fast nur bei Lowpower-Geschichten notwendig, da dadurch die CPU (und alles was auf dem Quarztakt basiert) stehenbleibt und nurnoch minimal Strom verbraucht. Für alle anderen nötigen Verzögerungen nimmt man Hardware- und Softwaretimer. Das GIE-Bit ist für die Aktivierung von Interrupts zuständig. Wieviel Erfahrung hast du mit der Programmierung von PICs? Es sollte dir eigentlich schon über den Weg gelaufen sein. Erklär das mit dem Distanzsensor und dem 100R Poti mal genauer, ich verstehe nicht was du damit vorhast. Der Distanzsensor gibt eine Spannung zwischen 0,5 und 3,5V aus, kannst also seinen Ausgang direkt an einen ADC-Eingang anschliessen. Setz doch für den BW-Schalter eine gleiche Schraubklemme wie für E1 und E2 ein. Ich glaube das mit dem Jumper direkt über dem 7812 war keine gute Idee von mir. Ein 3poliger Jumper sollte besser sein. Der mittlere Pin geht an den Eingang des 7805 und an die Bauteile die 12V brauchen. Ein Außenpi... | |||
| 9 - Unterschiedliche Blinkzeiten -- Unterschiedliche Blinkzeiten | |||
Zitat : Offroad GTI hat am 6 Mai 2013 16:27 geschrieben : Bei einem µC brauchst du kein Hüherfutter, wie beim NE555. Eben! Der Tiny 13 z.B. ist haargenau so groß wie der NE555.
Und wenn man die "Zufallsfunktion" im Programm noch etwas aufhübscht,indem man den Startwert noch mit dem Wert eines frei "in der Luft" hängenden ADC-Eingangs verwurschtelt,hat man es schon ganz gut "zufällig" ... | |||
| 10 - Einstellbarer Timer mit 7 Segment -- Einstellbarer Timer mit 7 Segment | |||
Zitat : im Internet habe ich nur Pläne mit einem AVR gefunden. Wo ist das Problem? Der eine ist halt von Atmel, der andere von Microchip
Du musst halt nur darauf achten, dass dein µC einen ADC-Eingang besitzt. Wenn das Programm auch noch sehr einfach gehalten werden soll, kannst du auch zwei Ports für die einzelne Ansteuerung der Anzeigen verwenden (dann aber über je einen BCD zu 7Segment-Umsetzer) Wenn die Hardware minimalisiert werden soll, muss eben in Software gemultiplext werden. ... | |||
| 11 - Kleines Problem mit itoa -- Kleines Problem mit itoa | |||
| Hallo,
habe mal wieder ein kleines Problem mit einem C-Programm. Es wird über den ADC des ATMEGA32 im 10Bit-Modus eine Spannung eingelesen. Dies funktioniert auch schon, und wird auch korrekt auf dem LCD ausgegeben. Jetzt wollte ich den Wert des ADC-Registers in die entsprechende Spannung umrechnen, dies funktioniert seltsamerweise aber nicht. Auf dem LCD erscheint immer nur eine ein- bzw. zweistellige Zahl. Code : #include <avr/io.h> #include <stdlib.h> #include <avr/interrupt.h> #define F_CPU... | |||
| 12 - Gitarrensignal für uC ADC verträglich machen -- Gitarrensignal für uC ADC verträglich machen | |||
Zitat : Ich wäre ja schon zufrieden, wenn die angezeigten Lottozahlen im Bereich 0-5V wären. Das kannst du nicht erwarten. Wenn der ADC Spannungen zwischen 0 und +5V digitalisierenn kann, entspricht das einer sinusförmigen Spannung von 5Vss oder einer Amplitude von 2,5V oder einem Effektivwert von 1,77V. Alles was darüber liegt, wird gekappt bzw. beschädigt u.U. den ADC. Wenn du kein entsprechendes Meßgerät hast, dann schreib doch einfach ein Programm, das die Spitzenwerte der Eingangsspannung anzeigt. ... | |||
| 13 - Daten vom ADU einlesen -- Daten vom ADU einlesen | |||
Zitat : Anbei noch eine Prinzip-Skizze, der geplanten Schaltung.Schön. Aber erwarte lieber weder von der Schaltung noch vom Programm, dass da irgendetwas auf Anhieb so läuft, wie du dir das vorstellst. Du wirst ein oder zwei Muster bauen müssen, an dem du das Verhalten und die Probleme studieren und verbessern kannst, bevor du sagen kannst: So wird's gemacht! Kurzum, du musst das lernen, wenn etwas brauchbares zustande kommen soll. Momentan scheint mir, daß du folgende Aufgabenblöcke zu lösen hast: * Digitales Interface des gewählten µC (an welche Ports schliesse ich was am besten an) * Analoges Interface des ADC (Vorverstärker, Überspannungsschutz usw.), * Programmierung der Schnittstelle zum ADC (Datenaustausch und Parametrierung des ADC) * Programmierung der Schnittstelle zum Display * Wahrscheinlich Programmierung einer Benutzerschnittstelle (z.B. Tastatur, RS-232, USB) * Programmierung der eigentlichen Aufgabe (Kalibrierfakto... | |||
| 14 - Offsetfehler am A/D-Wandler -- Offsetfehler am A/D-Wandler | |||
Zitat : Soweit ich gelesen habe ist bei solchen Fehlern ein Nullwert nicht richtig abgeglichen. Es ist eine Spannung vorhanden, obwohl der digitale Wert gleich Null ist.Zumindest erscheint das dem Programm so, bzw. umgekehrt: Es wird ein Digitalwert 0 erwartet, aber es kommt etwas anderes. Möglich ist also, dass eine Spannung am Eingang des ADC vorhanden ist, die nicht auf 0 geht, obwohl sie das sollte, daß der ADC selbst eine Macke hat, oder daß eines der Digitalsignale, die aus dem ADC herauskommen, festhängt, z.B. auf Grund einer Unterbrechung, eines defekten Bustreibers o.ä. Zitat : Oder muss an der kleinen Stellschraube, die mit Sicherungslack versehen ist, gedreht... | |||
| 15 - A/D-Wandler für SPS ohne Analogeingänge -- A/D-Wandler für SPS ohne Analogeingänge | |||
| Hallo Perl,
vielen Dank für die schnelle Reaktion und Antwort. Ich habe fertig konfektionierte (Edelstahlhülse und Kabel) NTC 10k und 30k mit Kennlinien - könnte aber natürlich auch andere (z.B. PTC o.ä.) einsetzen. Die Teile müssen halt den rauhen Einsatz vertragen und daher entsprechend in der Ausführung sein... Die Verarbeitung der Kennlinien kann problemlos in der SPS stattfinden. Da ich ja sowieso für alle Sensoren die gleichen SPS-Eingänge nutzen will, muss ich im SPS-Programm hinterlegen, welcher Sensor welche Werte bringt. Abdecken muss ich einen Bereich von etwa -25°C (beim Außentemperaturfühler = recht genau) bis +300°C (beim Abgastemperaturfühler Kessel = muss nicht so präzise sein). Daher wollte ich verschiedene Fühler verwenden... Den Tipp mit dem LM71 habe ich verfolgt - die müßte ich wohl noch in passende Gehäuse bringen, damit ich sie an den entsprechenden Stellen (z.B. Tauchhülsen in Rohrleitungen, Behältern) einsetzen kann?!? Ein weiteres Problem ist der serielle Ausgang - wie werte ich den mit meiner SPS aus? Ich hatte mir schon einmal den A/D-Wandler Texas Instruments TLC 549-CP angeschaut. Der Wandler hat auch einen seriellen Ausgang den ich, wenn ich es richtig verstanden habe, selbst takten kann - ... | |||
| 16 - batterie kontrolle -- batterie kontrolle | |||
Zitat : dl2jas hat am 2 Feb 2011 19:16 geschrieben : nicht schwierig, eine Schaltung zu bauen, die jede Zelle einzeln an den AD-Wandler anschließt. Es gibt viele MOS-Schalter, ein Beispiel ist 4066. Warum so umständlich? Der Atmega8 hat 6 ADC-Eingänge von haus aus. Man muß sie im Programm halt nur in der gewünschten Zeit abfragen. ... | |||
| 17 - LED-Weihnachtsdeko mit Micro-Controller blinken lassen -- LED-Weihnachtsdeko mit Micro-Controller blinken lassen | |||
| Ein anderes, treffenderes (aber längeres) Wort für Brenner ist Programmiergerät. Wenn Du noch einen seriellen Port mit +-10V hast, kannst Du dir einen simplen Brenner aus einer IC-Fassung, drei Widerständen, einem Kerko, einer 9pol-Sub-D-Kupplung und einem alten USB-Kabel stricken:
http://s.gullipics.com/image/3/9/j/hq2x3b-e3wje-n0wz/img.png Passende Brennsoftware: http://members.aon.at/electronics/pic/picpgm/ Als Entwicklungsumgebung MPLAB von Microchip. Codeschnipsel als Beispiel und Anregung gibt's bei sprut: http://www.sprut.de/electronic/pic/programm/sequenc/sequenc.htm http://www.sprut.de/electronic/pic/......html Als PIC empfiehlt sich etwa der 16F886, der h... | |||
| 18 - AVR - Geschwindigkeit von Operationen und Variablentypen -- AVR - Geschwindigkeit von Operationen und Variablentypen | |||
| Hallo,
Zitat : Braucht der AtMega zum Subtrahieren (bzw. simples Dekrementieren) deutlich länger als für Additionen? Oder für Schiebeoperationen nach links statt rechts? Mit avr-gcc <Standardparameter> -g übersetzen und mittels avr-objdump -S <fertiges Programm, z.b. main.o> das Disassembling anschauen. Dekrementieren und Inkrementieren dauert je einen Taktzyklus (inc, dec),wobei oft auch subi genutzt wird. Mit subi kann man dekrementieren, inkrementieren, mehr als 1 addieren und subtrahieren. Der Trick ist, dass man einfach mit dem Komplement subtrahiert, wenn man addieren will
Schiebeoperationen um ein Bit nach links oder recht dauern ebenfalls einen Maschinenzyklus, also z.B. bei 1MHz nur eine Mikrosekunde. Suche im Disassembling nach "rol" bzw. "ror" bzw. "lsl" und "lsr". Eventuell w... | |||
| 19 - ABI Facharbeit: LCD Backlight steuern -- ABI Facharbeit: LCD Backlight steuern | |||
| Moin,
"SMBUS" ist keine Ausgangsgröße - es ist ein Kommunikationsbus. Du musst also das nötige Protokoll in deinem Programm implementieren, um dich mit dem Chip unterhalten zu können. Alternativ nimmt man einen kleinen ADC und digitalisiert die Spannung an einem LDR. (als Spannungsteiler mit bekanntem Serienwiderstand verschaltet). Ich habe das kürzlich mit einem Mega8, einem LDR und einer Linearisierungstabelle gemacht. Das sind in dem Falle nichtmal 40 Byte Programmkode. Das SMBUS-Protokoll wäre, je nach Hardware, sicherlich größer und außerdem nimmt der Chip euch vllt. nach Aufgabenstellung zuviel Arbeit ab... [ Diese Nachricht wurde geändert von: DonComi am 15 Feb 2010 19:58 ]... | |||
| 20 - LDR am ATmega32 -- LDR am ATmega32 | |||
Zitat : Display Wert gehe. Er schwankt zwischen 500 unnd 540. Erstens ist es möglich, dass die Beleuchtung so schwankt, weil z.B. Personen in der Nähe herumlaufen oder weil Wolken übers Land ziehen. Zum Zweiten hat du vermutlich einen elektrisch schlechten Schaltungsaufbau fabriziert, der sich selber stört. Leg mal einen Elko, vielleicht 100µF, vom ADC-Eingang nach GND am µC-Chip. Das sollte die Zappelei drastisch reduzieren. Einen ähnlichen Glättungseffektt bekommst du, wenn du im Programm den Mittelwert über viele Messungen bildest. ... | |||
| 21 - Hilfe bei Pic 16f876 Program -- Hilfe bei Pic 16f876 Program | |||
| Spielen wir mal alle Möglichkeiten bei Luft1 durch.
T=30 (T < Toff < Ton) ->RC5 wird gesetzt T=35 (Toff < T < Ton) -> RC5 wird gelöscht und gleich wieder gesetzt T=40 (Toff < Ton < T) -> RC5 wird gelöscht Sollte also gehen. Jag mal das Programm durch den Simulator und überprüfe ob es da funktioniert. Allerdings funktioniert der ADC im Simu nicht richtig, deswegen musst du die Routine Umessen1 etwas umschreiben, damit der "ADC" den gewünschten Wert liefert. ... | |||
| 22 - Modellfernsteuerung mit mehr Kanälen ausstatten? -- Modellfernsteuerung mit mehr Kanälen ausstatten? | |||
| Das ist kein Problem, das PPM-Protokoll ist Standard:
http://www.mftech.de/ppm.htm Nimm dir einfach einen kleinen AVR mit 8 ADC Eingängen (z.B einen Mega 88 im TQFP32, der DIP hat nur 6 ADC-Kanäle)und strick dir ein kleines Programm welches den PPM-Code erzeugt. Den Teil solltest du einfach sorgfältig machen, da eine Präzision von 1 μs oder besser wünschenswert ist. Das Signal verfütterst du anstelle vom originalen der HF-Stufe, fertig. Der Originalcontroller kann seinen ewigen Winterschlaf antreten. Wenn du Lust hast kannst du dann auch noch eine digitale Trimmung, Expo, Mischer, LCD oder sonstige Gimmicks einbauen wenn schonmal ein AVR da ist. viel Spass beim Basteln... ... | |||
| 23 - Real Time Clock IC an AVR -- Real Time Clock IC an AVR | |||
So hier ist gleich das ganze Programm. Das deswegen, weil ohne die Equates die ganzen Operationen unverständlichen wären. Die I2C Routinen sind nur die zwei kleinen Teile nach der Interruptroutine. Der Rest ist eine kleine Steuerung für eine Gabelstapler an dem ein paar Funktionen gegeneinander verriegelt werden mußten. Außerdem sind noch ein paar Spielereien wir Blinklicht und Stundenzähler mit dabei (der leider aber nur im seriellen EEPROM steht und nicht ausgelesen werden kann ). Das Projekt war leider zu früh zu Ende!
Aber ansonsten kann ein Anfänger viele Sachen darin finden, neben der I2C Kommunikation ist eine einfache Interruptbehandlung für einen Timerinterrupt und die ADC-Abfrage vorhanden, genauso wie die in diesem Thread schon angesprochenene Zeitverzögerungen oder weiter unten dann ganz normale Bitverknüpfungen. Code : | |||
| 24 - Rechteckgenerator mit ATmega8 \"verschluckt sich\" -- Rechteckgenerator mit ATmega8 \verschluckt sich\ | |||
| Hallo AVR-Experten!
Heute habe ich auch mal ein kleines Problem. Es ist zwar überhaupt nicht kritisch, aber ich hätte es gern prinzipiell geklärt und möchte auch etwas dabei lernen. Kleine Vorgeschichte: Ich habe auf meiner Arbeitsstelle ein kleines Prüfgerät für die Antriebselektronik von Turbomolekularpumpen gebastelt. (Das sind, vereinfacht gesagt, mit 1500 Umdrehungen pro Sekunde laufende Ventilatoren... ) Diese haben zur Rückmeldung ihrer Drehung zwei Hallelemente eingebaut, deren Signale die Elektronik auswertet. Da ich bei der Überprüfung der Steuerteile die angeschlossene Pumpe nur simuliere, muß ich auch diese Hall-Signale nachbilden. Dazu brauche ich einen "Tongenerator", der zwei symmetrische und komplementäre Rechteckfolgen von ~0 bis etwa 4 kHz ausgibt.
Zunächst hatte ich eine Schaltung mit einem 556 gebastelt, die auch prinzipiell funktionierte. Nur war es leider so, daß die Frequenz nach oben hin extrem schnell zunahm. Dabei hätte ich mir schon eine gleichmäßigere Zunahme gewünscht, um im besonders interessierenden Bereich (Signalisierung von Drehzahl > 50 % bzw. Abschaltung der Pumpe bei zu hoher Drehzahl) feinfühliger einstellen zu können. Da hatte ich die Idee, einen (für dies... | |||
| 25 - Spannungsschutz für einen AD-Wandler -- Spannungsschutz für einen AD-Wandler | |||
| Zwei Schottkydioden in Reihe schalten und in Sperrrichtung an die Spannungsversorgung anschliessen. Der Mittelpunkt kommt an den AD-Eingang. An diesen Knotenpunkt kommt noch ein 1kOhm-Widerstand, an dem die zu digitalisierende Spannung angeschlossen wird. Vgl hier ... | |||
| 26 - Signal mehrerer Fotodioden (Lichtintensität) mit µC auswerten (Signalkonditionierung) -- Signal mehrerer Fotodioden (Lichtintensität) mit µC auswerten (Signalkonditionierung) | |||
| Moin, "Plan" ist übertrieben.
Das Layout ist bei meinem Umstieg von Windows zu Linux leider flöten gegangen. War alles sehr klein. Es ging um Audiosignale, die digitalisiert wurden. Ein Teil habe ich mal hier aufgeschrieben. Ein Timer wird so initialisiert, dass bei jedem Positiven Vergleich ein Interrupt ausgelöst wird. In diesem wird dann der Wert eingelesen und weiterverarbeitet. Dieser Teil dürfte uninteressant sein, da er auf mein Problem zugeschnitten ist. Es wurde abwechseln immer zwei Kanäle (ADC0 und ADC1) gesampelt. Code : ... | |||
| 27 - Schalten durch Berührung eines Kontakts möglich? -- Schalten durch Berührung eines Kontakts möglich? | |||
| Hallo,
es müsste funktionieren, wenn du 2 Reißnägel direkt nebeneinander machst mit möglichst kleinem Abstand und davor noch einem Vorwiderstand. Damit kann man dann z.B. einen Darlingtontransistor ansteuern. Durch die Hautfeuchtigkeit können je nach Spannung schon paar µA oder so fließen, die für nen Darlington lässig ausreichen um durchzuschalten (dann brauchst du nicht mal nen ADC). Die Frage ist dann, wie zuverlässig das ist aber es müsste funktionieren. Du kannst so natürlich auch mehrere Kontakte herstellen, du brauchst halt für jeden Kontakt nen Darlington. Das µC-Programm müsste dann z.B. messen, wie lange du mit dem Finger auf dem Kontakt bleibst und damit die Helligkeit einstellen. Was besseres fällt mir dazu auch nicht ein. Ich versteh nur nicht was du mit der Schreibtischlampe sagen willst. MfG ... | |||
| 28 - Messsignalauswertung im ADU Atmega32 -- Messsignalauswertung im ADU Atmega32 | |||
Tja,wie gesagt viel Plan habe ich auch nicht...
Und assembler ist mir so unbekannt wie das innere des Mondes,ich habe es nur mit Bascom geschafft Spannungen zu messen und umzuwandeln. Zumindest mit 8 Bit,bei 9 und 10 komme ich mit der Verarbeitung des Hi und Low Wertes noch nicht klar.... Was ich bisher weiß(auf den Mega8 bezogen) Du kannst direkt nur bis Vcc messen.Also 5V.Bei mehr brauchst nen Spannungsteiler. Der ADC kann freilaufend oder zur Einzelmessung konfiguriert werden. Bei Einzel muß jede Messung im Programm extra gestartet werden. Du sagst dem ADC,welchen Eingang er nehmen soll. Definierst eine Variable,wo er das Ergebniss der Wandlung ablegt. Ist er fertig,hast du je nach gewählter Auflösung einen Wert darin stehen. Wie du das aber jetzt weiterverarbeitest und zur Anzeige bringst
So weit bin ich auch noch nicht vorangekommen
... | |||
| 29 - Atmega162 + SRAM -- Atmega162 + SRAM | |||
Viele viele Leitungen.
Zitat : Wenn der Atmega162 korrekt eingestellt ist, sollte der externe SRAM praktisch an den internen angehängt werden... Für das Programm (übrigens in C geschrieben) sollte es also kein Problem darstellen, auf den externen RAM genauso zuzugreifen wie auf den internen,Würde ich nicht verlangen. Wahrscheinlich hast du mehr Freiheiten hinsichtlich des Prozessors, wenn du z.B. die Daten, deren Inhalt vermutlich uninteressant ist, im externen RAM aufhebst und die Verwaltung derer wie Pointer, Bitmaps etc. vorzugsweise im Speicher des Prozessors machst. Ich habe auf diese Art mal ein 256k*1 DRAM mit insgesamt nur 5 oder 6 Pins an einen PIC16C84 (der hat nur 36 Bytes RAM und 12 IO-Pins) angebunden. Der DRAM diente als FIFO zwischen einem hochauflösenden ADC und einem Drucker, der mit den nach PCL konvertierten Grafikdaten gefüttert wurde. Als zusätzliche Hardware waren nur zwei 8-Bit Sc... | |||
| 30 - mehrere Spannungen mit AD -Wandler messen -- mehrere Spannungen mit AD -Wandler messen | |||
| Indem du die zu messenden Spannungen programmgesteuert nacheinander mit dem Eingang des ADC verbindest.
Welche Eingangsspannung gerade anliegt, müsste dem Programm bekannt sein, andernfalls sollte der Programmierer noch ein bischen im Sandkasten spielen. ... | |||
| 31 - Schaltung für in den PC -- Schaltung für in den PC | |||
| Hallo,
man kann Programme z.B. über die serielle Schnittstelle (RS232 konkret) in den Controller laden, das setzt aber ein kleines (Boot-)Programm voraus, welches bereits im Controller sitzt und brav wartet, bis z.B. eine Programmiersequenz gestartet wird. Also nix für Anfänger. Weiterhin empfehle ich gradezu das Erlernen des AVR-Assemblers, das mag vllt. schwer sein zu anfang, aber es macht mehr Sinn, als auf einer hohen Abstraktion zu programmieren. Vermutlich gibt es einen Compiler für Delphi, aber da kann ich nichts zu sagen. Für mich gibt es nur Assembler und C .
Wie auch immer, als Programmieradapter empfehle ich den Paralleladapter von Ponyprog (http://www.lancos.com/prog.html) und dieses Programm ebenfalls zum Flashen und konfigurieren deines AVRs. IO kann man beliebig erweitern, indem man die Daten nicht parallel sondern seriell ausgibt und dann ans Ende ein Schieberegister hängt. Das geht sowohl für Ein- als auch Ausgänge (selber schon sehr oft gemacht). Dafür empfehle ich allerdings dann den Einsatz von Assembler, da man hier sehr schnelle Routinen schreiben kann, die innerhalb von einigen µs die Schieberegister aktualisieren. Analog-Ein- und Ausgänge... | |||
| 32 - Oszilloskop selber bauen -- Oszilloskop selber bauen | |||
| Hallo Leute,
ich überlege mir, aufgrund der ziemlich hohen Preise für Oszilloskope, eins selber zu bauen. Also zunächst muss ich sagen: ICh möchte damit Messungen anstellen und z.B. PWM Signale an zu sehen, welche im kHz bereich liegen. Über 200kHz gehe ich dabei meist gar nicht. Auch die Spannung ist dabei immer DC und maximal 20 Volt. Nun hatte ich folgende Idee: Ich nehme mir einen uC (ATMeag16) und einen SRAM Baustein wie z.B. den K6T4008C1B-DB55 mit 512kByte Speicher und einer Zugriffszeit von 55ns. Den uC selber kann ich mit 16 MHz takten. Nun könnte ich ein Programm schreiben, welches in bestimmten Zeitabständen den Wert der internen ADC in den RAM-Baustein speichert. menn dies mit 1MHz erfolgt könnte ich somit bei 512kB speicher knapp über eine halbe Sekunde aufzeichnen. Nach der Aufzeichnung, könnte man dann ja die Daten "in aller Ruhe" an den PC alle übergeben. Und dort wäre ich dann in der Lage eine Software zu entwickeln, mit welcher man dann die Mess-Daten wie auf einem Oszilloskop ansehen kann. Somit hätte ich ein kleines Oszi mit 1MHz Bandbreite, welches eine halbe Sekunde aufzeichnet. OK, zugegeben 1 Sekunde wäre sicher besser, was sich aber vielleicht durch 2 RAM-Bausteine realisiern lässt. (Hab noch keinen SRAM in DIL... | |||
| 33 - ATMega 32 INT2 löst nicht aus -- ATMega 32 INT2 löst nicht aus | |||
| Hallo!
Ich habe hier eine Schaltung zusammengebaut mit der ich eine PC AT Tastatur an einen ATMega32 anschließen möchte. Jetzt wollte ich erstmal den INT2 einschalten und mir die Flanken des Taktsignals zählen lassen. Jedoch löst das Clock-Signal der Tastatur am INT2 keinen Interrupt aus. Schaltung ist wie folgt: Am Controller hängt ein LC-Display an Port A, das funktioniert soweit einwandfrei. An PORT B hängt eine Lochrasterplatine mit der Anschlussbuchse für die Tastatur und 2 LEDs und zwar folgenderweise: PB7 = LED rot PB6 = LED grün PB5 = NC PB4 = NC PB3 = NC PB2 = KEYBOARD Clock = INT2 PB1 = NC PB0 = KEYBOARD Data Ich habe jehweils einen 10kOhm Pullupwiderstand an KEYBOARD Data und KEYBOARD Clock. Schaut auch sehr gut aus auf dem Oszilloskop. Hab auch direkt am Controllerpin PIN3 gemessen, das Clocksignal kommt bis zum µC durch. Jetzt wollte ich den INT2 einstellen, hab mich da auch soweit ans Datenblatt gehalten. MCUCSR Bit6 = 0 -> INT2 löst bei fallender Flanke aus GICR Bit5 = 1 -> INT2 aktiviert SEI Befehl um I-Flag im SREG zu setzen hab ich verwendet. In der Interrupttabelle steht rjmp EXT_INT2 die sprungmarke existiert auch und wird mir RETI beend... | |||
| 34 - Wer kann Assembler? -- Wer kann Assembler? | |||
| Hallo Leute,
ich habe ein dickes Problem. Ich habe mal ein Programm für einen ATMega8 mit Bascom geschrieben. Dieses auf den Controller gepackt und gut war. Jedoch ist mir nun das Bascom-Programm irgendwie abhanden gekommen. Also habe ich den Controller ausgelesen und mit viel mühe daraus wieder eine Atmel-Hex File gebastelt. Jedoch sind meine Assembler Kenntnisse nicht sehr gut. Hier erstmal die Funktionsbeschreibung: Es handelt sich leider um ein relativ umfangreiches Programm. Am Controller ist an ADC1 (PC1) ein NTC angeschlossen. Um dann die Analogspannung in eine Temperatur umzurechnen, waren ziemlich viel if-Bedingungen und Umrechnungen notwendig. Und genau diese Umrechnungen brauche ich. (und nur dieser Teil des Programmes ist wichtig, der rest ist unwichtig). Kann mir da jemand sagen in welchem Teil des Programmes das erfolgt? (ich weiß nicht wie der Befehl lautet den ADC auszulesen bzw. den ADMUX auf den ADC1 zu setzen, ab da müsste es ja los gehen). Meint ihr das man das herausbekommt? Bitte, das ist wirklich sehr wichtig. Vielen Dank schonmal für eure Hilfe. Das Assembler ist im Anhang PS: Bitte kein schreck bekommen, das Ding ist ganze 2900 Zeilen lang. Aber ich denke mal, wenn man über "suchen" d... | |||
| 35 - Probleme mit ADC -- Probleme mit ADC | |||
| Hallo
Ich habe einen ATmega128, der auf einem Board von Olimex sitzt. Da ich mich für yC interessierte borgte mir ein ehemaliger Lehrer, das Ding zum Anfangen. Einige grundlegende Schritte, habe ich schon bewältigt, die Kontrolle über die Ein- und Ausgänge, den Timer, und die serielle Schnittstelle habe ich bereits. Jetzt wollte ich mich über den ADC, den Analog-Digital-Converter hermachen. Also habe ich mir, wie schon öfter, das Datenblatt gekrallt, und mich mal hinein gelesen, bis ich, wie ich glaubte, das meiste verstanden habe. So schloss ich kurzerhand die Hardware (siehe Anhang) so, wie ich es für richtig hielt, und schrieb ein Programm (siehe Anhang) dazu. Bald fand ich heraus, wie der ADC gestartet wurde und er schickte tatsächlich Daten, allerdings die falschen, denn egal ob an dem ADC was hängt oder nicht, er steuert immer voll aus, d.h. alle 10 Bits sind gesetzt. Was sagt Ihr dazu, Hardwarefehler, oder Softwarefehler? PS: an PortB hängen 8 LED's, am Eingang des ADC hängt eine Photodiode, als Referenz dient ein Poti. ... | |||
| 36 - ATTiny26 Analogeingänge einlesen -- ATTiny26 Analogeingänge einlesen | |||
Das Thema wird oft im Internet gefunden, allerdings nur mit HEX- und C-Beispielen. Ich suche ein Beispiel für den Assembler. Je nach den Schalterstatus möchte ich einzeln ADC7, 8 und 9 einlesen und digital an PORT-A ausgeben. LL (lauflicht) ist ein anderes Programm, das ich schon fertig habe, und eingebunden wird. Das einlesen der Schalter ist kein Problem, nur bei mir wird´s mit den Analogeneingängen nix. Wie liest man am besten die Analogen Eingänge ein? ... | |||
| 37 - PIC programmieren mit PICALLW -- PIC programmieren mit PICALLW | |||
| Ich behandel nur die PIC12F und PIC16F typen:
Erst eine kleine Übersicht über die PIC - Architektur: Die PICs besitzen die sogenannte Harvard (RISC) Architektur,die besagt, daß die Speicherbereiche für Daten und Programme getrennt sind. (im gegensatz zur vonNeumann -Architektur) Das bedeutet für uns praktisch: Wir haben den Flash Programmspeicher, in den wir unser Programm speichern und einen SRAM Bereich für Daten.Dieser SRAM bereich ist in sogenannte Bänke aufgeteilt, weil wir nur 128 Speicherstellen dieses Bereiches direkt ansprechen können. Die Bank wird durch Bits in dem sog. STATUS -Register eingestellt.Jetzt wird es etwas kompliziert: Im SRAM bereich befindet sich nicht nur frei zugänglicher Speicher,den wir nutzen können wir wir wollen,sondern auch alle Register,die zum steuern der Hardware benötigt werden.Wieviel SRAM der jeweilige PIC hat, und wo dieser Speicher im SRAM bereich liegt steht im Datenblatt.(bei den meisten PICs liegt z.b von 20h bis 7Fh frei nutzbarer Speicher). Die meisten Befehle benötigen eine SRAM adresse (auch File geannt) und eine Richtung.Wir haben noch ein besonderes W Register,daß in keinem Speicherbereich liegt und als Akkumulator dient. Nehmen wir ein beispiel: ADDWF 20h,W Dieser Befehl addiert die Werte aus... | |||
| 38 - Audio Spektrum Analyzer Projekt -- Audio Spektrum Analyzer Projekt | |||
| FFT heißt Fourier Freqenz Transfrorm ...
So wie ich das verstanden habe könnte man dann die stärke einer bestimmten frequenz rausfiltern und das alles digital .. der At90s8535 hat einen eigebauten 12 bit adc das sollte auch soweit gehen .. werde mir heute abend mal das programm anschaun vielleich werde ich ja daraus schlau *GG* nun ja melde mich wieder wenn ich was genaueres weiß sven ... | |||
| 39 - schnelle µC -- schnelle µC | |||
| Jap. glaub GPS hat sogar 5 sender und 2 empfänger oder umgekehrt weiß net genau. Aber das prob der unterschiedlichen uhren hab ich ja net da der empfänger die daten wieder zurückbefördert und ein system alles auswertet.
Die Auflösung hab ich anhand des RS232 engpasses betrachtet. Weitere engpässe können in der Umwandlungszeit des ADC liegen (wenn die signalstärke mit der entfernung nicht stark abnimmt kommt auch ein Komarator in frage). Die auflösung des ADC ist nur wichtig das er echos nicht mit dem 1. maxima verwechselt. Jedoch denk ich nicht das Floating Point benötigt wird, also Integerwerte. Und ich denk mal 16 Bit reichen, aber ich werd das programm was dann drauf soll jetzt mal genau angehen. Das einzige problem ist ich habe noch keine testwerte. ich würde gern erstmal alle werte an den rechner weiterleiten und sehen ob es viel berechnung braucht erstmal aus den daten die zeiten rauszufinden. in dem sinne werd ich glaubich erstmal einen ganz einfachen chip kaufen und im rechner testen.... | |||
| 40 - Zündung -- Zündung | |||
| Wenn der Hallgenerator in dieser Prüfschaltung funktioniert, hätte er es eigentlich auch in dem ursprünglichen Aufbau tun sollen.
Die unbekannte Diode soll lediglich verhindern, daß der HG bei Falschpolung der Batterie zerstört wird. Ich würde Dir aber nicht raten das zu testen, da die Schaltung in dieser Hinsicht einen Fehler enthält. Du kannst ja nochmal checken: Meßinstrument, 20V-Bereich - an TP1, + an TP3, dann sollte es ohne Magnet etwa 6,5V angezeigen (bei 9V Batterie), mit Magnet etwa 0,3V. Dann den Stromkreis durch die LED öffnen, also entweder die LED oder R1 rausziehen. Wenn dann mit und ohne Magnet praktisch 0 angezeigt wird, ist das wie ich vermute ein O.C. Ausgang. Die Richtung des Magneten ist übrigens wichtig: Wenn Du ihn falschrum dranhältst schaltet der HG nicht. Ich habe hier übrigens etliche HG, die eigentlich für Tastaturen gedacht sind. Kunststoffplättchen 10x6x2mm bei denen auf der langen Kante vier Anschlußpins rausschauen. Ich denke, die könnte man auch ganz gut verwenden, hab aber noch nicht probiert, ob die bei 15000 min-1 noch mitspielen. Wer schreibt schon so schnell ? Allerdings sehe ich auch keinen Hinderungsgrund. Müßte das mal ausprobieren. Wie heiß wird es am Einbauort ? | |||
| 41 - TV Loewe Studio 70 -- TV Loewe Studio 70 | |||
| Geräteart : Fernsehgerät Hersteller : Loewe Gerätetyp : Studio 70 Chassis : C9001/89 Messgeräte : Multimeter, Ozilloskop ______________________ Habe mit diesem Gerät folgendes Tonproblem: weder bei scart noch tunerbetrieb ist ein (richtiger) ton zu hören. hört sich digital an , stummschaltung geht auch nicht. wenn man das programm umschaltet, hört man so ein bisschen digitales geklimper, links und rechts gleich , es kommt auch nix am kopfhörerausgang an, habe schon einige elkos aus der tonstufe und netzteil getauscht, da lag ohnehin an, aber habe bisher noch keine idee, was das nu wieder ist, weiß jemand rat? was kann ich noch messen, kann der ADC 2311 eine macke haben? betriebssapnnung U5,U12 ist da . Das Bild ist OK. anbei der schaltplan aus der tonstufe. Uploaded Image: schaltplanart70.JPG... |
|
Zum Ersatzteileshop Bezeichnungen von Produkten, Abbildungen und Logos , die in diesem Forum oder im Shop verwendet werden, sind Eigentum des entsprechenden Herstellers oder Besitzers. Diese dienen lediglich zur Identifikation! gerechnet auf die letzten 30 Tage haben wir 7 Beiträge im Durchschnitt pro Tag heute wurden bisher 0 Beiträge verfasst 4 Besucher in den letzten 60 Sekunden alle 15.00 Sekunden ein neuer Besucher ---- logout ----su ---- logout ---- |