Ich bin Dennis, knappe 40 Jahre jung und realisiere hin und wieder ein paar kleinere Projekte mit BASCOM, neuerdings "leider" in C (Arduino). Eigentlich lese ich hier nur und ziehe mir dadurch das Wissen raus,
was die heimische "Büchergallerie" nicht oder nur schlecht hergibt oder es um Sonderthemen geht.
So nun auch bei meinem aktuellen Projekt, der Digitaltacho für mein Motorrad, eine BMW R26.
Die Nadel wird über einen X27 Stepper bewegt und im kleinen Display werden GesamtKM, TagesKM, Öltemp., und Bordspannung ausgegeben. Durschaltbar mit einem kleinen Taster am Lenker in Daumenreichweite.
Das Programm Läuft auf einem ATtiny 3216, welchen ich anfangs mit BASCOM programmieren wollte, dazu aber dann ein Addon benötigt wird und dazu wiederum eine gekaufte und registrierte Version von BASCOM von Nöten ist.
Gekauft habe ich sie, nur damals im Eifer das registieren vergessen.
Nun hatte ich den Salat und hab dann alles mit der ArduinoIDE nochmal gemacht.
Läuft jetzt und das Flashen mit dem UPDI ist einfach genial.
Den Schaltplan dazu habe ich mal angehängt, weil ich dazu mal etwas Hilfe brauche.
Ich weiß nicht woher, aber ich bekam einst mal den Tip, die Spannungsversorgung wie unten im SP dargestellt, aufzubauen.
Teile bestellt, gerade mal aufm Steckbrett zusammengebastelt und siehe da, der LM2931 (angeschlossen an 6,4V) gibt unter Last seine ~5V raus. Dann den TEA1-0505 dazu gesteckt, bringt der LM2931 nur noch ca 1,1 Volt, die dann am TEA1 auch am Ausgang anliegen.
Hab dann mal einen Draht (im SP blau gerahmt) gesteckt, gleiches Ergebnis.
Jetzt kommt Ihr ins Spiel... Ich würde gerne wissen warum das so ist und eventuell habt ihr je ein bessere Idee, wie ich den Tacho universell für 6 und 12 V auslegen kann. Der LM2931 sollte das ja packen, eine Schutzschaltung gengen die Transienten habe ich gerade hier erlesen, wird noch eingebaut, sowie die zugehörige Sicherung.
Habe ich sonst noch was vergessen? Gerne könnt Ihr meine Schaltung auseinandernehmen und was hinterfragen oder gar verbessern.
Ich danke Euch fürs "zuhören" und wünsche euch noch ein schönes Wochenende!
Wer Mikrokontroller-Schaltungen ohne Abblock-Kondensatoren aufbaut,
nachmacht oder verfälscht, insbesondere bei existierenden
Schaltungen die Abblock-Kondensatoren weglässt oder falsch
verschaltet oder selbst solche Schaltungen entwirft, in Verkehr
bringt und/oder aufbaut ohne Abblock- Kondensatoren nach Hersteller-
Empfehlungen zu verwenden, wird mit Zugangs-Ausschluss vom
Mikrokontroller-Forum nicht unter zwei Jahren bestraft.
Du hast entweder ein Problem mit der Stromaufnahme deiner Schaltung, zu der du leider nichts schreibst oder mit deinem Steckbrettaufbau. Bist du sicher, dass die Ausgangsstufe des ATtiny kräftig genug ist, um deinen Schrittmotor anzusteuern oder läuft das jenseits aller Spezifikationen?
Du hast ein Problem mit deiner Spannungsversorgung oder sonstiger analoger Eigenschaften deiner Schaltung. Mit dem Mikrocontroller in seiner Eigenschaft als Digitalschaltung hat das eher nichts zu tun.
p.s.
Wozu soll der TEA1-0505 gut sein, wenn du die galvanische Trennung dann doch wieder aufhebst?
Den SP habe ich mal eben etwas bearbeitet, damit ich hier nicht gebannt werde ;)
Vielleicht hätte ich hier n och anführen sollen, dass dies zwar eine funktionierende Schaltung ist (ausgenommen der Spannungsverorgung), jedoch nicht der finale entwurf ist. Ja, ich weiß, blöde Ausrede :-D
An die Abblockkondensatoren hatte ich nicht gedacht, hoffe das ist jetzt so richtig oder zu viel?
Hatte mal gelesen, dass 100nF ausreichen, ohne die sonderlich zu berechnen ausser es steht was im DB.
Der Stepper wird bei 5V mit 15 bis 20 mA angegeben, der Tiny schafft 40mA pro Pin, 100mA pro Pingruppe und 200mA Gesamt. Sollte also alles im grünen Bereich liegen. Die Freilaufdioden fehlen hier wohl noch, da muss ich den Hirnschmalz nochmal umrühren. Wenn ich mir recht erinnere gab es da mal was von Rückfallzeit usw?
Jedenfalls ist die Spannungsversorgung nicht überlastet, da diese noch nicht aktiv eingebunden ist. Ich hab anfangs nur mit USB 5V gearbeitet und probiert und programmiert. Jetzt soll das aber alls so langsam autark werden und an ein Bordnetz. Dazu hab ich jetzt nur die Spannungsversorgung diskret aufm Brett gesteckt und mit einer LED und einem Vorwiderstand "belastet". Daraus resultiert das beschriebene Fehlerbild.
Der TEA1-0505 war ursprünglich dazu gedacht, die Schaltung von der Bordspannung zu isolieren... Ist aber eigentlich völliger quatsch oder?
Weil wenn ich die Bordspannung messen will und die Masse vom Motorrad als GND nutze um die zweite Ader zum NTC und zum Hall-Sensor zu sparen, brauche ich ja ein gemeinsames Bezugspotential. Also ist der TEA1 eigentlich über.
Was müsste ich denn veranstalten, damit die Versorgung durch den LM2931 gesichert ist und eventuelle Störungen durch die Transistorzündung (keine Unterbrecherzündung mehr) ausgeschlossen sind? Da hört mein Wissen leider so langsam auf und hoffe auf Eure Hilfe...
LG Dennis
PS: Der I2C hat seine beiden Pullup's im Display mit je 4k7.
Jedenfalls ist die Spannungsversorgung nicht überlastet, da diese noch
nicht aktiv eingebunden ist. Ich hab anfangs nur mit USB 5V gearbeitet
und probiert und programmiert
Das ist widersprüchlich und unlogisch. Wenn Deine Schaltung an USB läuft, wird sie keinen groben Fehler haben, aber wieviel Strom braucht sie denn? Bedenke, dass Dein Reglerchen nur 100mA liefern kann.
Es kommen 5 Volt und bei Last brechen die weg - primär denke ich da an Überlast. Eine andere Variante wäre ein ungeschickter Aufbau, fängt an zu schwingen.
Wenn ich Steckbrett lese, denke ich immer an Vorsatz, wackelige Kontakte, windige Verbindungskabel etc. Baue das anständig per Lötkolben auf!
Es ist immer wieder im Motorradforum von Problemen mit der Zulassung und bei Kontrollen zu lesen, wenn ein unzertifizierter Tacho angebaut wurde, bei Fahrzeugen vor 1990 und auch Oldtimern. Man behilft sich dann mit einem Navi, welches die Geschwindigkeit anzeigt oder beim Anbeu handelt es sich um eine Motordrehzahlanzeige mit Zusatzfunktionen.
Sowas wie dieser, aber die einfachere Version, die nur die 5V am Ausgang hat:
https://www.distrelec.de/de/dc-dc-wandler-18v-5v-5v-300ma-300ma-3w-xp-power-itu0312d05/p/30185920
Oder so etwas nachbauen, da es dafür einige ferige Wandler-IC gibt, die auch SEPIC-Wandler können oder es läuft über einen Übertrager. Vorteil dabei ist, dass im Falle des Spannungsabfalles unter 6V beim Starten, dadurch die Versorgung nicht kurz in Drop-Outs verfällt. Außerdem kann häufig ein Widerstand und ausreichende Elkos vor dem Wandler ausreichend Energie zur Überbrückung der kleinen Drop-Outs gewährleisten und fängt auch möglicherweise die kurzen Überspannungsspikes im ms-Bereich auf.
Im Bild habe ich skizziert, welche nicht so übliche Art der Störsignaleinstreuung einen linearen Spannungsregler zum Schwingen veranlassen kann. Gerade Steckbrettaufbauten sind dafür empfänglich.
Das ist widersprüchlich und unlogisch. Wenn Deine Schaltung an USB
läuft, wird sie keinen groben Fehler haben, aber wieviel Strom braucht
sie denn? Bedenke, dass Dein Reglerchen nur 100mA liefern kann.
Ich finde den auch ein bisschen klein. Auch wenn der erst bei 300mA Kurzschluss erkennt. Der Controller kann schon bis zu 200mA ziehen.
Muss der Low Drop sein?. Wenn du von der Batterie 12V bekommst, dann nimm doch einen 7805. Da hast du dann absolut keine Probleme mit dem Strom.
Mit diesen Steppern kenne ich mich nicht aus, aber direkt am Controller würde ich den nicht betreiben.
Die Dioden im Portpin können... warte mal... was steht da im Datenblatt... 1mA. Hmm, wenn der Stepper gut mit Speed arbeitet, wie lange machen das die parasitären Substratdioden wohl? Natürlich hängt es auch etwas von der Art der Ansteuerung ab. Man kann jeden Schritt auch aktiv bremsen, bis die Induktionsspannung abgebaut ist. Aber bewegt sich der Zeiger dann noch so schön soft? Was ist bei Pulsbreitenansteuerung für Microstepping? Immer noch keine externen Dioden?
Die Dioden im Portpin können... warte mal... was steht da im
Datenblatt... 1mA
Ich habe in Erinnerung, dass die Datenblätter von Atmel nichts zur Belastbarkeit der Dioden aussagen. Habe im aktuellen auch keine Angabe gefunden. Wo hast du die 1mA her?
wie lange machen das die
parasitären Substratdioden wohl?
Ewig, schätze ich. Ich habe denen schon viel mehr zugemutet.
Ich habe in Erinnerung, dass die Datenblätter von Atmel nichts zur
Belastbarkeit der Dioden aussagen. Habe im aktuellen auch keine Angabe
gefunden. Wo hast du die 1mA her?
AVR182: Zero Cross Detector
'It is not recommended that the clamping diodes are conducting more than maximum 1 mA and 1 MΩ will then allow a maximum voltage of approximately 1,000V.'
Die Nadel wird über einen X27 Stepper bewegt und im kleinen Display
werden GesamtKM, TagesKM, Öltemp., und Bordspannung ausgegeben.
Wie machst du das mit dem Anfahren der 0-Punkt-Stellung? Hab das mal probiert, aber sobald ich den mechanischen Anschlag berührt hatte, sprang die Nadel bei den folgenden Schritten unkontrolierbar in der Gegend rum. Ich hatte meinen Motor an einer A4988-Endstufe, nicht direkt am Controller.
Ein ATtiny3216?
Selbst bei 20MHz Clock und 5.5V Versorgung liegt der Controller noch unter 12mA (DS Figure 37-1: Active Supply Current vs. Frequency, Figure 37-3: Active Supply Current vs. Temperature).
Vermutlich. Ich würde die Stromversorgung immer möglichst an das Maximum legen. Dann ist auch noch was da für andere "Spielerein".
Hier geht es nicht um Stückzahlen, sondern um ein privates Bastelprojekt.
Industriell gesehen, da hast du recht.
Lesen üben.
Die Angabe "200 mA" unter den Absolut Maximum Ratings ist die maximale Belastbarkeit des Bonddrahtes für VDD bzw Gnd, d.h. inklusive sämtlicher Ströme, die über GPIOs an irgendwelche angeschlossenen Verbraucher fließen, darf dieser nicht überschritten werden. Das bezieht sich aber nicht auf den Controller selbst.
Bei tatsächlichen 200mA und einem Linearregler im TO92, der von 12V auf 5V runter regelt, würde ich mir erstmal gehörig Gedanken über Verlustleistung und Kühlung des Reglers machen. Und auch das SOIC-8 steht da nicht viel besser da und verträgt bei 40°C Umgebung noch nicht einmal 700mW (DS Fig. 29). Mit TO220 sähe es dann besser aus (Fig. 30).
Freilaufdioden sollten schon noch dran, 1N4148 reichen aus.
Nein - jedenfalls nicht, wenn man sich an das Datenblatt hält.
Im Datenblatt ist in den Absolute Maximum Ratings explizit angegeben, dass die Spannung am GPIO nicht mehr als 0,5V außerhalb der Versorgung liegen darf. Das garantiert bei 20mA keine 1N4148. Bei 20mA liegt die eher bei 0,8V.
Und wer würde dem Strom ggf. sagen, dass er nicht durch die ESD-Dioden, sondern durch deine 1N4148 fließen soll. Wie wäre es mit Schottky-Dioden, die bei dem Strom unter dem maximal zulässigen Wert bleiben.
Ich würde mich auf die internen ESD Schutzdioden im Mikrocontroller
verlassen.
Die werden sich bedanken, wenn die mit 20mA belastet werden. Hast du irgendeine Zusage des Herstellers, dass die internen Dioden an den GPIOs diesen Strom vertragen? Wo?
The series input resistor is a 1MΩ resistor. It is not recommended that the clamping diodes are conducting more than maximum 1mA, and 1MΩ will then allow a maximum voltage of approximately 1,000V.
Deine Waghalsigkeit ist nur vorgeheuchelt, es ist ja nicht dein Controller 😂
Nee im Ernst, ich würde die Dioden auch weglassen, es ist ja schließlich nur eine Kompassnadel mit geringem Drehmoment die nur ihr geringes Eigengewicht von geschätzt 10 Gramm inklusive Rotor, mit niedriger Drehzahl durch die Luft rudern muss. Mehr ist das nicht.
Nee im Ernst, ich würde die Dioden auch weglassen, es ist ja schließlich
nur eine Kompassnadel mit geringem Drehmoment die nur ihr geringes
Eigengewicht von geschätzt 10 Gramm inklusive Rotor, mit niedriger
Drehzahl durch die Luft rudern muss.
Wie kommst du auf Kompassnadel?
Es geht um einen Schrittmotor und bei dem ist der Strom weder von dem Anzeigewert noch von der Last abhängig.
Na gut, wenn man Angst hat, dann kann man ja trotzdem noch zusätzliche
Angstdioden reinmachen, um die Angstzustände zu minimieren.
Es ging um deine Argumentation mit dem geringen Drehmoment der Nadel. Das spielt überhaupt keine Rolle, solange der Motor mit dem eingestellten Strom ausreichend Drehmoment aufbringt. Der Strom ist lastunabhängig.