Hallo, ich habe ein seltsames Problem. Ich will mit einem Atmega644p-20pu die Drehzahl eines Motorrades messen. Ich benutze dazu den Capture Mode von einem Portpin (nicht icp). Zuhause auf dem Tisch funktioniert es mit einem Frequenzgenerator aus der Soundkarte. Am Zweirad habe ich die Leitung vom Steuergerät zum Tacho abgegriffen. Dort liegt ein Rechtecksignal an. Sobald ich diese Leitung mit dem Portpin verbinde, hängt sich der µC auf. Habe die Spannung auf dieser Leitung gemessen - es lagen ca 6.4 v an. Also habe ich einen Spannungsteiler vorgeschaltet, so dass nun ca 3.2v anliegen. Trotzdem bleibt der µC stehen, sobald die Leitung dran ist. Masse ist mit dem Fahrzeug verbunden. Hat jemand eine Idee? Danke!
Also bei meinem kürzlich gebauten Drehzahlmesser habe ich das Zündsignal nicht direkt an den AVR gelegt. Da sind ja ganz schlimm Störungen drauf und so. Hast du ein Scope zur Hand? Wenn ja wirst du sehen, was ich meine. Also nimm einen Optokoppler und schalte noch eine Z-Diode davor. Bei mir funktioniert das super so. Nebenbei: ich weiß nicht, ab der CTC-Mode dafür soo geeignet ist. Das mag sicher funktionieren, aber ich hab bei mir immer die Zeit zwischen zwei Impulsen gemessen und gut. Aber versuchs schaltungstechnisch mal mit nem Optokoppler und ner Z-Diode... MfG, Joachim
Hallo Joachim, danke für deine Antwort. Ich greife ja nicht direkt an der Zündspule, sondern an einem Ausgang vom Steuergerät. Laut meiner Info kommt da schon ein aufbereitetes Rechtecksignal raus, das wird nur noch zum Tacho für die Anzeige geleitet. Ich kann mir einfach keinen Reim draus machen, warum es sich aufhängt. Einen Scope habe ich leider nicht :( Gruß Alex
Ja, das mit dem Abgriff des Signals meine ich auch so. Das "Zündsignal" ist für mich das, was aus dem Steuergerät rauskommt :) . Das war bei mir auch nen Rechteck-Signal (was anderes macht ja auch nicht viel Sinn ;) ... ). Mein Signal hatte auch einen "normalen" Pegel von ca. 0 - 14,5 V. Da war aber auch noch ein böser Nadelimpuls von rund 70V drauf. Das könnte dir der AVR übel nehmen, auch mit Spannungsteiler. Ich würd es erstmal mit meinem Vorschlag von oben probieren. Den Vorwiderstand für die LED des Optokopplers kannst du auf zwei Widerstände aufteilen, wobei der eine dann auch als Strombegrenzung für die Z-Diode dient. Wie gesagt, bei mir gehts. Mal davon abgesehen solltest du so eine Beschaltung als "Must-Have" bei so einem Projekt ansehen!! Auch die Schaltung des AVRs sollte solide sein, mit Blockkondensatoren, stabiler Spannung und so... MfG, Joachim
Hallo Joachim, ich bin in der Hinsicht eher ein Anfänger, könntest du mir eine grobe Skizze machen, wie ich das mit dem Optokoppler beschalten müsste? Vielen Dank!
Hi! Bevor du jetzt groß was bastelst schalte einfach mal in Serie einen 50K Widerstand zwischen Steuergerät Ausgang und PortPin. Den Spannungsteiler kannst du dann weglassen. gruss Axel
Hmmm, also fühl dich jetzt nicht angemacht oder so, aber das sind Grundlagen. Und um die zu lernen sollte der Interessierte eigentlich selbst zuständig sein. Aber soviel: das Ohmsche Gesetz ist bekannt. In einem Optokoppler ist einfach eine LED drin. die Braucht einen Vorwiderstand (auch bekannt). Mit dem zulässigen Strom, der im Datenblatt angegeben ist, kannst du den Vorwiderstand berechnen. Nun die Z-Diode: wie du funktioniert kannst du nachlesen. Im Groben begrenzt sie bei "normalem" Gebrauch erstmal die Spannung. Aber damit die nicht abraucht braucht die auch nen Vorwiderstand (steht auch überall). Diese Z-Diode benutze ich, um die LED im Optokoppler zu schützen. Das hat mit dem AVR erstmal noch nix zu zun. Und am "Ausgang" des Optokopplers hängt dann der Controller. Der kann dann da auch direkt angeklemmt werden (mit Pullup oder so...) Ich mach mal ne grobe Skizze, aber lies auch ruhig n bissl selbst nach ;)... MfG
Joachim: Vielen Dank. Axel: Aber der Spannungsteiler ist zwingend notwendig, glaube ich. Auf der Leitung sind ja über 6v drauf, das ist doch zu viel für den Portpin, oder?
So, die Skizze... @Axel: stimmt natürlich grundsätzliche. Allerdings sind die 20-100 mA, die der Optokoppler ausmachen würde, nicht sooo wild, wenn man bedenkt, was an Leistung aus dem "Steuergerät" rauskommen muß, um die Zündspulen zu treiben... ;)
Hi Joachim, ich glaube du verstehst es immernoch falshc. Ich greife nicht die Leitung vom Steuergerät zu den Zündspulen ab, sondern die reine Drehzahl-Leitung. Die geht nur zum Cockpitinstrument :)
Der Atmega hat interne Schutzdioden gegen Überspannung - allerdings muss man den Strom dann auf unbedenkliche Werte reduzieren. gruss Axel
@Freq: jo, da hab ich dich auch falsch verstanden :) . Aber egal, ich schätze eichfach mal, daß das Signal ähnlich ist. Ich greife bei mir das Signal ab, was aus dem Steuergerät kommt, weil mein Auto keinen Drehzahlmesser hat, und ich daher auch kein "Drehzahlsignal"-Kabel finden konnte. Aber wie gesagt, der Spannungsteiler allein wird dir nicht viel helfen. Versuchs mit der Methode von Axel oder von mir
Die habe ich von halvar.at übernommen: http://halvar.at/elektronik/kleiner_bascom_avr_kurs/avr_kfz_boardnetz/stromversorgung_eines_avr_im_kfz_boardnetz_v03.gif
Versorgung ist ok. Meine Schaltung sieht in dem Bereich wesentlich sparsamer aus. Die oben angegebene Versorgungsschaltung ist natürlich "high-class". Aber wenn man 3 Augen zudrückt geht es auch mit 2, 3 Teilen weniger (reusper)... Denk noch an die Blockkondensatoren an deinen ICs. Und dann überdenk deine Signaleinkopplung. Wenn es danach läuft oder immer noch nicht läuft sag nochmal bescheid...
Abblockkondesatoren sind ebenfalls dran. Dazu habe ich mich an dieses Schaltbild gehalten: http://halvar.at/elektronik/kleiner_bascom_avr_kurs/stromversorgung/atmega8_anschlussplan_v02.gif C1 ist aber nicht dran
Mach einen Serienwiderstand mit > 10 K in deine Signalleitung und einen sehr kleinen C nach GND ==> das gibt zusammen einen Tiefpass Filter. Dimensioniere den Tiefpass so, das die höchste Nutzfrequenz die du sehen willst noch mit min 60 % Pegel durchkommt. Grenzfrquenz also etwas oberhalb deiner höchsten Nutzfrequenz. Danach kannst du noch einen Spannungsteiler schalten, falls notwendig. Dieser sollte aber Werte von > 10 K haben. Du willst ja keine Heizung.
Wie klein sollte der C dabei sein? 100nF ? Ich habe gerade etwas Zweifel, dass der Widerstand in Serie was bringt - denn ich hatte ja den Spannungteiler dran, da war auch ein 22k in Serie und nach dem Abgriff noch ein 22k gegen Masse.
Wenn es nicht ein langer Draht ist, der nebenbei Zündimpulse einsammelt, dann Auge zu F23 Kfz-Stromversorgung http://www.dse-faq.elektronik-kompendium.de/dse-faq.htm#F.23
das ganze könnte aussehen wie im Anhang. Besser ging es gerade nicht, hab kein brauchbares Programm auf diesem Rechner. Die Werte müsstest du selbst ausrechnen. Es gibt im WWW genug Programme um solche Sachen zu berechnen.
So Fehler gefunden. Ich hatte einen LCD auf dem Pin konfiguriert. Komischerweise machte es zuhause mit dem Frequenzgenerator aus der Soundkarte nichts aus, am Motorrad aber schon. Mit dem Frequenzteiler klappt nun alles! Danke!
hey, ich möchte so ziemlich die gleich schaltung in meinem auto betrieben. ist es vllt. möglich, dass du mir deinen quellcode zu verfügung stellst? ich würde mir diesen dann auf einen c-controll mega32 umschreiben. danke und grüße
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.