Hallo Leute. Ich habe vor Jahren schonmal etwas rumgebastelt und bin wieder eingestiegen. Jetzt interessiere ich mich für Mikrocontroller. Hab auch schon etwas mit einem Mega16 auf einem Steckbrett herumgespielt. Als Sprache probiere ich Bascom. Die Grundlegenden Sachen habe ich soweit verstanden und möchte mir ein kleines Projekt zusammenstellen. Ich dachte an einen Drehzahlmesser für verschiedene aufgaben. Eingang,Display (Text-LCD)und einige Tasten habe ich im Griff. Was ich gerne erfahren möchte ist ob ich mit dem Mega16 und Bascom eine reelle Chance habe bis ca. 20000 upm zu kommen ? Oder ist das viel zu hoch gegriffen ? Maik
Das kommt ganz darauf an, wie viele Impulse pro Umdrehung auflaufen sollen; desto schneller muß Dein Prozi natürlich aus´m Tee kommen. Assembler würde ich Dir für zeitkritische Sachen aber trotzdem an´s Herz legen. Auch wirst Du nicht ohne Interrupts klar kommen. Der Prozessor selber sollte das aber locker packen. Mit 16Mhz Takt ist der nämlich ganz schön schnell.
Die maximale Zählfrequenz ist Quarz/2. D.h bei 16MHz Quarz kannst Du bis 8MHz messen (= 480000000UpM). Bei lahmen 20000UpM mußt Du aufpassen, daß der µC nicht zu laut schnarcht :-) Peter
Ja 20'000 Upm is auch mit Bascom kein Zeitkritisches Problem. Der M16 ist mit Timern gespick also schnapp dir das Datenblatt und schau se dir gleich mal an.(Bascom Hilfe zu Timern ebenfalls) Damit ist das Zählen schnell erledigt. Der Rest ist dann nur noch Aufbereitung und verschönerung des Gerätes. Später kannste ja noch diverse Zusatzfunktionen einbauen. Is ne gute Übung zum lernen und man hat danach was Brauchbares.
@ Peter Dannegger Könntest Du bitte mal die programmtechnische Vorgehensweise für Quarz/2 erläutern. Meines Wissens braucht ja schon der Sprung in die Interruptroutine 2Takte und da ist noch nix verarbeitet. Mich interessiert dies, da ich einige zeitkritische Routinen in meinem Programm habe. Gruß Stevko
Wenn ein Motor mit 20000 upm dreht, sind das 333 Umdrehungen pro Sekunde. Um die Drehzahl kontrollieren und gegebenenfalls nachregeln zu können, muss der Motor (bzw. eine angeflanschte Elektronik)mindestens 1 Sync-Impuls pro Umdrehung dem Controller liefern. Dazu eignet sich der Input Capture Pin. Also, wenn nach 3ms der Puls noch nicht gekommen ist, ist der Motor zu langsam und kann nachgestellt werden. Wenn aber der Puls vorher kommt, ist die Drehzahl zu schnell und die Elektronik muss auf die Bremse treten. Das ist ein hervorragendes Projekt, um die Timer bzw. deren Funktionen kennen zu lernen. MW
Timer können Extern getaktet werden ohne das ne ISR benötigt wird, trozdem ist Quarz/2 natürlich der THeoretische Optimalwert.
Hallo, @Maik Ich habe auch so einen Drehzahlmesser in Bascom geschrieben. Mit einem Mega16 mit 8Mhz Takt. Das klappt ohne Problem. Das Problem ist nicht die Drehzahl mit 20000 upm, sondern eher die unteren Drehzahlen im Lehrlauf. Wenn du mit einem Geber arbeitest hast du zum Beispiel bei einem 2T ein Zylinder Motor bei 20000 upm geteilt durch 60 = 333 Impulse/secunde. Da hält jeder Controller locker mit. Es kommt drauf an wie DU deine Drehzahl messen willst. Es gibt zwei Wege, entweder zählst du die Impulse während einer gewiesenen Zeit, oder du miste jeweils die Zeit von einer Umdrehung. Ich habe mich für letzteres entschieden. Weil bei niedriger Drehzahl die erste Lösung ungenau ist. Um dir einen Idee zugeben. 1) Auf steigende Flanke warten. 2) Timer auf null setzen. 3) Auf fallende Flanke warten. 4) Wieder auf steigende Flanke warten. (eine Umdrehung fertig). 5) TIMER auslesen. 6) Drehzahl berechnen und anzeigen. Dieser teil ist nicht Zeit kritisch, selbst wenn ein paar Umdrehungen verloren gehen, ist das Ergebnis immer noch genau. Weil DU ja auch die Anzeige nur im ½ Sekundentakt anzeigen kannt 7) wieder auf 1 springen. Mit einem Frequenzgenerator getestet war das ganz genau. Mein Problem liegt eher da, wie ich die Impulse in den Controller bekomme. Ich will das Kontaktlos losen machen. Also die Impulse am Zündkabel bei der Zündkerze abgreifen. Da ich mich in Analogelektronik nicht so aus kenne bräuchte ich euren Rat. Mit einer Spule und einem 10M Widerstand kann ich die Impulse auf dem Oszi messen. Es ist eine Wechsleschwingung von +/- 0.5 Volt. Ich habe jetzt versucht mit einem OP oder Transistor das Signal zu verstärken. Das Klappt auch so weit aber nur mit einer Spannung von 1 Volt. Also von 0 bis 0.5 Volt eine Pegel von 0 bis 5 Volt zumachen kriege ich einfach nicht hin. Und auch bei 1 Volt geht der Pegel nicht auf Ground zurück. Kurzfassung: Wie kann ich von 0 bis 0.5 Volt einen Pegel von 0 bis 5 Volt bekommen, um einen AVR an zu steuern.??
Aus 0-0.5 0-5V machen ? Nimm nen Opamp und gib ihm ne Verstärkung von 10. Soweit die Grundlage. Beispielschaltungen findest du überall im Web. Im Wiki müßte auch was drinne sein.
Ganz vergessen. Wenne schon dabei bist kannste da auch gleich die Signalformung erledigen. Das Thema Abgriff hatten wir aber letztens schonmal. Such mal ,is noch nicht lange her (2-3 Wochen ?)
Dank für die Antwort, Ich habe es mit einem LM741 versucht. Aber der reagiert erst bei einem oder zwei Volt eingang. Entweder mache ich was falsch, oder der OP ist nicht geeignet. Ich weis es nicht. Ich habe in letzter Zeit ziemlich viel über Ops gelesen und versucht, aber irgend wie kriege ich das nicht hin.
@Guy: Und wenn Du einfach die Basis eines NPN-Transistors an die 0 bis 0,5V dranhängst? Evtl. mit Basiswiderstand um die 1 KOhm erst mal oder weniger oder auch keinen da die ja bis 0,7V an der Basis aushalten (BC547). Am Collector den Geber-Pin des AVR als Input mit internem Pullup und den Emitter auf GND. MfG Andi
Na na,Verboten ist etwas hart. Is nur etwas altbacken aber manchmal noch brauchbar. Natürlich ist bei der Signalverarbeitung per Opamp etwas mehr nötig als nur nen Wald und wiesen-OP. Entweder nen Rail2Rail oder mit negativer Spannung. Ersteres ist aber einfacher und billiger. RR-OPs kosten ja kaum noch was.
@Ratber: Kannst du mir noch einen sinnvollen Einsatz dieses OPs verraten (ausser dessen Ersatz wegen Defekts), den man nicht mit einem moderneren OP hinbekommt?
aus dem Stehgreif nix konkretes für den 741. Für den noch älteren 709 gibt es noch welche. Und das auch noch aufgrund seiner Einschränkungen gegenüber den Heutigen Modellen. Die Modernen sind zwar R2R und Kompensiert bis zum abwinken aber manchmal braucht man noch die alten.
Es ist so ähnlich wie mit dem Timer (555). Der ist auch uralt aber dennoch brauchbar :D
Vorschlag: TS912. Bei Reichelt zu bekommen http://pdf.alldatasheet.co.kr/datasheet-pdf/view/25497/STMICROELECTRONICS/TS912.html
@Rahul Es gibt schon alternativen die mehr bieten aber er ist eben nicht tot zu bekommen weil man soviel damit anstellen kann. dann noch ne Korrektur: Auch für nen 741 gibt es ne Spezifische anwendung. Als zufälligen Oszillator (Verwendungszweck is jetzt sinnfrei.Meinentwegen für nen brauchbaren Zufallsgenerator.). Die Schaltung bekommste mit modernen OPs nur schwer hin. Ja ,verwenden tu ich ihn nu auch nicht mehr. Warum auch wenn icfh besseres fürs gleiche Geld bekomme ?`:D
Hallo, Was ihr hier über den 741er schreibt, ist ja auch so ein Problem. Ein Anfänger der eine Frage stellt, und eine Antwort bekommt, in der Form nimm doch einen OP. Na gut, Googel, OP suchen, Beispiel Schaltungen mit OP 471 gefunden, und man glaubte das ist es. Selbst wenn man sich dann das Datenblatt anschaut, ist man als Anfänger schnell überfordert Sicher ist es nicht der Sinn eines Forums jedem seine Schaltung auf dem Silbertablett zu servieren, aber für einen Anfänger ist es so auch meistens keine Hilfe. Selbst wenn man eine genaue Vorstellung von der Schaltung hat bleibt immer das Problem welchen Baustein ist dafür geeignet. Neulich habe ich einen MAX5154 gesucht. Ich habe das Teil nirgends gefunden. Nach Zwei Tage suchen, und Datenblätter durchstöbert habe ich dann einen ähnlichen D/A gefunden. Leider auch nicht aufzutreiben. Jetzt habe ich zwei von MAXIM als Muster bekommen. Was ich sagen will, ist dass man sich schon Muhe machen soll sein Projekt selber zum laufen zubringen, aber das Problem ist aus den Tausenden Ops und, und, und, den richtigen zu finden. Und da währe es schon eine Hilfe wenn einer Schreibt, nimm doch den oder den Baustein. Weil er vielleicht eine ähnliche Schaltung damit aufgebaut hat. mfg Guy
Sicher,da haste Recht aber was macht es denn für einen Sinn "alles" vorzukauen wenn die Grundlagen nicht sitzen ? Es ist ja leider so das viele nur sehen das man mit nem Controller alle machen kann. Das Digitale klappt da meist nur im Logischen Sinn aber die Analoge Seite ist schon der erste Stolperstein. Da werden Blockkondensatoren an Chips und Regler vergessen (oder ignoriert) und selbsteinfache Transistorstufen stellen ein Problem dar. Normalerweise fängt man Diskret an und kommt dann irgendwann zum Controller selber. Also von A nach Z über M und nicht auf Z und alles rückwärts bis A irgendwie nachholen bzw. machen lassen. so hat man die Leute nur ewig im Forum weil beim nächsten Projekt wieder die gleichen Fragen auftauchen. Allein das nutzen der suchfunktionen klappt ja oft schon nicht. Schau mal wie oft die Frage nach Endstufen aller art kommen. Dabei steht das meiste schon hier im Forum,im Wiki oder anderswo im Web.(zb. El.kom.) Ich helfe auch gerne aber Hintern abwischen is nicht.
Da bin ich ja mit dir einverstanden, ich rege mich auch immer auf wenn einer fragt wie er einen Transistor anschließen soll. Aber selbst wenn du von A nach Z gehst hast du immer noch das Problem, dass du bei Z nicht weist welchen Baustein für deine Schaltung geeignet ist. Als Beispiel: ich habe vor vielen Jahren, mal eine Stoppuhr mit RS232 gebaut. Alles ohne Controller Zu dieser Zeit waren Controller noch eine Seltenheit, ob so was wie ein Max232 über haut aufzutreiben war weis ich nicht mehr. Das Ganze war mit herkömmlichen Bausteine realisiert. Schieberegister, Zähler und so weiter. Wenn ich das Heute machen würde, würde ich in einem Forum Fragen "wie kann ich am besten eine RS232 realisieren". Wenn dann einer mir schreibt, nimm doch einfach einen Pegelwandler ist mir nicht geholfen. Wenn er aber schreibt nimm den MAX232 (weil er schon öfter den Baustein benutzt hat)dann ist mir eher geholfen. Gut heute würde ich auch mit "Google" "Pegelwandler" auf den MAX232 stoßen. Ich will nicht sagen, dass der, der da eine Anwort gibt, für den andren Stunden lang die Bauteile suchen soll, sondern wenn man vielleicht schon mal was Ähnliches gemacht hat, einfach den Baustein dazu schreibt. Ich hoffe, dass du das auch nicht als Vorwurf aufgefaßt hast. Es war eher als Anregung gedacht.
Nö,hab ich nicht. Es geht mir nur darum das der Einstig in die Elektronik über den Controller eigentlich der schlechte weg ist. Oder mal in anderen Farben: Es ist irgendwie als ob jemand erstmal Formel 1 fährt um dann irgendwann mal den Führerschein zu machen um überall im Weltweiten Verkehr fahren und eventuell mal was anderes als den F1-Boliden steuern zu können. Dabei ergibt sich nur das Problem das nach dem F1-Flitzzer jedes andere Fahrzeug und vorallendingen die nötige Theorie trist und fad erscheint. Wer hat dann schon lust sowas zu lernen ? Ein Controller alleine ist im wesentlichen rein Digital aber alles drumrum ist Analog also wäre es Sinvoller die Grundlagen zu lernen denn die braucht man überall. Das fängt ja bei der Energieversorgung an die sich ja nun überhaupt nicht Digital verhält :D :D Ok,back 2 Topic
Nachtrag: (Man wird vergesslich) Was ich sagen wollte hab ich wiedreinmal vergessen. Ich hab mir früh angewöhnt erstmal die Suchfunktionen zum glühen zu bringen bevor ich frage. Zu 99.9% sind die Problemchen dann auch schon da gewesen und es stehen Lösungen bzw. Lösungsansätze parat. Es ist natürlich sehr bequem einfach mal eben in ein Forum einzufallen und sich das Mindgerecht machen zu lassen. Da bin ich allerdings kein Freund von. In meinem Betrieb kommen ab und an die Damen und wollen eine falsch gesetzte Niete entfernt haben damit se den Stecker neu machen können. Den Kavalier spiele ich da nur selten und zeige ihnen lieber wie sie das an der speziell dafür gebauten Vorrichtung selber machen können. Der effekt ist das sie dann weniger rennen müssen (bin ja nicht immer da) und sie sicherer im Umgang mit Fehlern werden die sich nie vermeiden lassen. So,Fertig ! Abendessen :D
Ich gebe Euch Recht, dass nicht die hohen Drehzahlen das Problem sind, sondern die niedrigen. Hatte mich vor einigen Tagen auch mit der Frequenzmessung beschäftigt, wollte mich an einen Frequenzzähler erfreuen, der einige MHz verarbeiten kann. Zuerst entwickelte ich mir eine Software per Interrupt. Musste aber sehr schnell feststellen, dass die Interrupt-Routine zu viele Takte benötigte (ca. 10 bis 20). Die Lösung war, einen Timer von aussen takten: http://www.mikrocontroller.net/forum/read-4-230466.html Ich denke, dass bei Deinem Projekt, die Messung der Zeit (Periodendauer)die sinnvollste Methode ist. Denn bei 500Upm ergeben sich gerade mal 8,33 Empulse/s am Eingang. Wäre also bei einer kurzen Messzeit (1s) ziemlich ungenau. Ein kleiner Tipp, man könnte die Eingangsimpulse durch einen separaten 2/1 Teiler vorteilen, damit auch sehr kürze Eingangsimpulse (z.B. Tastverhältnis 100/1) an Deiner Schaltung sicher vom µC verarbeitet werden können.
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.