Hallöchen, ich bin hier neu im Forum und suche Rat bei den "großen". Zum Projekt: ich habe eine Technische Anwendung, die eine relativ einfache Signalverarbeitung erfordert: In der Basisversion werden zwei digitale Eingänge, sowie ein digitaler Ausgang benötigt. Die Eingänge bekommen relativ schnelle Signale, sprich z.B. einen 10ms Impuls, also der verarbeitende Mikrocontroller sollte nicht so langsam sein das es zu Interrupts kommt. Über den Ausgang soll ein N-Channel Mosfet gesteuert werden. Ursprünglich habe ich das ganze mal als Logikgatter Schaltung entworfen, aber einen gravierenden Fehler gemacht weshalb mein Entwurf wertlos ist. Nun hoffe ich das man mit einem verhältnismäßig einfachem Mikrocontroller das ganze regeln kann. Parallel habe ich bereits angefangen den Algorithmus in C zu programmieren und versuche ihn zu Testzwecken auf meinen ASURO zu ziehen, das dauert aber noch ein paar Tage. Nun zu eigentlichen Fragestellung: -Welchen, möglichst kleinen (Bauform, Platzmangel im Anwendungsgebiet) Mikrocontroller könnt ihr mir da empfehlen? -Kann mir jemand so einen Mikroprozessor flashen? Ich wollte mir nicht für einen einzigen ein ISP Board (???) anschaffen...
:
Bearbeitet durch User
Wugge D. schrieb: > Die Eingänge bekommen relativ schnelle Signale, sprich z.B. einen 10ms > Impuls, lächerlich langsam für nen µC ;) Wugge D. schrieb: > Welchen, möglichst kleinen (Bauform, Platzmangel im Anwendungsgebiet) > Mikrocontroller könnt ihr mir da empfehlen? z.B. Attiny 25/45/85 Wugge D. schrieb: > Kann mir jemand so einen Mikroprozessor flashen? Ich wollte mir nicht > für einen einzigen ein ISP Board (???) anschaffen... du wirst sicherlich den ein oder anderen kleinen Fehler im Programm haben oder kleine Änderungen machen wollen. Du wirst also nicht drum herum kommen, den µC öfter zu flashen. D.h. du holst dir z.B. so was: http://www.ebay.de/itm/Neu-USB-ISP-USBASP-Programmiergerat-Programmierer-fur-Atmel-AVR-ATMega-51-ATTiny-/261100135914?pt=Bauteile&hash=item3ccac7e5ea oder wenn du willst, dass es auf jeden Fall problemlos funktioniert, den MKII von Atmel: http://www.reichelt.de/AT-AVR-ISP/3/index.html?&ACTION=3&LA=446&ARTICLE=45040&artnr=AT+AVR+ISP&SEARCH=avr+isp+mk Zum flashen brauchst du dann nur in deiner Schaltung die ISP-Pins auf einen Stecker rausführen und kannst direkt in der Zielschaltung flashen.
Wugge D. schrieb: > Hallöchen, > ich bin hier neu im Forum Herzlich Willkommen! > Die Eingänge bekommen relativ schnelle Signale, sprich z.B. einen 10ms > Impuls Bei 10ms langweilt sich selbst der kleinste ATTinty > sollte nicht so langsam > sein das es zu Interrupts kommt Interrupts müssen gerade bei Mikrocontrollern nicht unbedingt was schlechtes sein ;) > -Welchen, möglichst kleinen (Bauform, Platzmangel im Anwendungsgebiet) > Mikrocontroller könnt ihr mir da empfehlen? Wie schon gesagt ist ein ATTiny ( oder ein vergleichbarer PIC, kenne mich da nicht aus ) schon ausreichend. Je nach Platzproblemen kann man die SMD Varianten nehmen. 3 GPIOs haben sie eigentlich immer ( Vorsicht ist trotzdem besser als Nachsicht ): http://www.atmel.com/products/microcontrollers/avr/tinyavr.aspx > -Kann mir jemand so einen Mikroprozessor flashen? Ich wollte mir nicht > für einen einzigen ein ISP Board (???) anschaffen... Dir muss aber auch bewusst sein, dass du dann auch keine Änderungen mehr vornehmen kannst und das Programm von anfang an richtig sein muss ( schwerer als gedacht ). Sollte es wirklich nur bei diesem einen Controller bleiben, kann mans noch verstehen, aber wenn du in dem Bereich später vielleicht doch noch was machen willst, ist ein ISP-Adapter die bessere Wahl.
Wugge D. schrieb: > Hallöchen, > ich bin hier neu im Forum und suche Rat bei den "großen". Wenn dir 1,76 m reicht. ;-) > Die Eingänge bekommen relativ schnelle Signale, sprich z.B. einen 10ms > Impuls, also der verarbeitende Mikrocontroller sollte nicht so langsam > sein das es zu Interrupts kommt. Wie hier schon geschrieben wurde: das ist sehr langsam für einen Mikrocontroller. > -Welchen, möglichst kleinen (Bauform, Platzmangel im Anwendungsgebiet) > Mikrocontroller könnt ihr mir da empfehlen? Der kleinste passende von den verbreiteten Mikrocontrollern, den ich kenne, ist der ATtiny10 (SOT-23-Gehäuse!). Gibt es schon für 50 Cent, zum Beispiel da: https://guloshop.de/shop/Mikrocontroller/ATtiny10::84.html > -Kann mir jemand so einen Mikroprozessor flashen? Ich wollte mir nicht > für einen einzigen ein ISP Board (???) anschaffen... Kann jeder, der einen USBasp zu Hause hat. Mit dem Mk II müsste es auch gehen, mit manchen anderen geht es nicht, weil sie das Programmier-Verfahren TPI nicht können (z.B. MyAVR Light). USBasp kannst du aus China bestellen, für um die 3 Euro. Oder du nimmst den da: https://guloshop.de/shop/Mikrocontroller-Programmierung/guloprog-der-Programmer-von-guloshop-de::70.html Viel spaß bei dem Projekt!
Also, die Reaktionszeit ist kein Problem. Gut. Und wie schauts aus, wie viel Saft zieht der gennante ATTiny, speziell, wie viel Volt mag er damit er funktioniert?
Wugge D. schrieb: > der gennante ATTiny Welcher? Wenn ich mich nicht verzählt habe, wurden 4 genannt.
:
Bearbeitet durch User
Eine Möglichkeit wäre mit einem digispark (ATtiny85 mit Arduino IDE). Kann direkt an den USB angschlossen werden für die Programmmierung und braucht somit kein Programmer. Der ATtiny85 verträgt 5V. Auf dem Digispark hat es einen Spannungsregler, da kann die Spannung 7-35V betragen. Vielleicht sagst du wie die Eingangssignale aussehen und was geschalten werden soll. Dann kann man mehr sagen. http://digistump.com/products/1 Ein Beispiel: http://www.cboden.de/mikro-controller/digispark/ampel-steuerung
AVerr schrieb: > ( oder ein vergleichbarer PIC, kenne > mich da nicht aus ) Es gibt auch Alternativen von Microchip: PIC10F200 im SOT23-6, 8-Pin DFN oder 8-Pin PDIP: - ca. 0.40€ - 4 IOs (einer Input only) - Wide operating voltage range: 2.0V to 5.5V - Operating Current < 175 µA @ 2V, 4 MHz, typical
:
Bearbeitet durch User
Wugge D. schrieb: > Ich wollte mir nicht > für einen einzigen ein ISP Board (???) anschaffen... Dann ist ein MSP430 LaunchPad zu empfehlen. "Nur programmieren", wie z.B. mit einem USBasp ermöglicht Dir nicht, im Einzelschritt durch dein Programm zu steppen, Breakpoints zu setzen oder Variablen-Inhalte auszulesen. AVR geht auch, aber ein AVR Dragon ist deutlich teurer. Und jetzt bitte kein Glaubenskrieg! Ob der TO das braucht oder nicht, muss er selbst entscheiden.
Nachtrag: Für nur wenig € mehr (0.43€ bei TME) gibt’s den schnelleren PIC10(L)F320 mit mehr Peripherie und einer Configurable Logic Cell die die gewünschte Funktion vllt. in Hardware ausführen könnte. Operating Voltage Range: - 1.8V to 3.6V (PIC10LF320) - 2.3V to 5.5V (PIC10F320) Operating Current (PIC10LF320): -25µA @ 1 MHz, 1.8V, typical
:
Bearbeitet durch User
Max H. schrieb: > Wugge D. schrieb: >> der gennante ATTiny > Welcher? Wenn ich mich nicht verzählt habe, wurden 4 genannt. Ich nehme an, er meint den ATtiny10, welcher wohl auch von all den verfügbaren ATtinys für die geplante Aufgabe am besten geeignet ist. Wugge D. schrieb: > Und wie schauts aus, wie > viel Saft zieht der gennante ATTiny, speziell, wie viel Volt mag er > damit er funktioniert? Betriebsspannung: 1,8 bis 5,5 Volt Strom (aktiv): je nach Takt 25 µA bis 4 mA Da für deine Aufgabe der langsamste Takt sicher ausreicht, kannst du mit 25 µA kalkulieren. Noch etwas: im Sleep-Mode braucht ATtiny10 weniger als 1 µA! Da dieser Mikrocontroller über PIN-Change-Interrupts verfügt, kannst du ihn praktisch dauernd schlafen lassen und nur bei einem Wechsel des Eingangssignals kurz aufwecken. Stromverbrauch sollte also kein Problem sein. :-)
Für einen einzigen Entwurf lohnt sich die Einarbeitungszeit nicht. Solltest nur mit anfangen, wenn du auch dabei bleibst. Und wie bereits erwähnt - eine Entwicklungsumgebung mit In-Circut-Debugger kaufen. Ist für die neuen, leistungsfähigen Controllerfamilien erstaunlicherweise preiswerter als für die Atmels.
Wenn sich die gewünschte Funktion mit der CLC (Configurable Logic Cell) des PIC10(L)F320 implementieren lässt, könnte man den PIC die ganze Zeit schlafen lassen, da die CLC auch im Sleep funktioniert. Zitat Datenblatt: >The selection, gating, and logic functions are not >affected by Sleep Im Sleep brauch der PIC10LF typical 20nA @ 1.8V .
:
Bearbeitet durch User
Wugge D. schrieb: > -Welchen, möglichst kleinen (Bauform, Platzmangel im Anwendungsgebiet) > Mikrocontroller könnt ihr mir da empfehlen? > > -Kann mir jemand so einen Mikroprozessor flashen? Ich wollte mir nicht > für einen einzigen ein ISP Board (???) anschaffen... klein genug? , hat 1 Eingang & 2 Ausgaenge koennte auch 2 Eingaenge & 1 Ausgang haben vlG Charly
:
Bearbeitet durch User
Charly B. schrieb: > klein genug? Welches Gehäuse hat der Chip? Ich vermute SOT23-6, bin mir aber nicht sicher.
:
Bearbeitet durch User
Max H. schrieb: > Charly B. schrieb: >> klein genug? > Welches Gehäuse hat der Chip? Ich vermute SOT23-6, bin mir aber nicht > sicher. Das ist ein ATtiny9. Der hat das gleiche Gehäuse wie der ATtiny10, SOT-23: https://guloshop.de/shop/images/product_images/popup_images/84_0.jpg Ist dem ATtiny10 sehr ähnlich, hat zwar keinen AD-Wandler, aber ebenfalls 1 KB Programmspeicher.
@Max genau SOT23-6 , auf der anderen Seite ist noch ein MosFet im SOT23 der bis zu 220mA schaltet vlG Charly
Weil jetzt schon öfter die ganz kleinen ATtinys empfohlen wurden: Bei den ATtiny4/5/9/10 ist die Programmierung in C aufgrund des sehr kleinen SRAMs etwas problematisch. Einfach mal im Forum zu diesem Thema suchen, evtl. ist das Vorhaben auf den SOT6-Tinys dann nur in Assembler vernünftig zu realisieren. Oder einfach einen etwas größeren Tiny im SO-Gehäuse nehmen, der sich auch vernünftig in C programmieren lässt. Einige wurden ja hier schon genannt. Den Einsatz eines MSP430 oder einem noch leistungsfähigerem uC für so eine Mini-Aufgabe halte ich für "mit Kanonen auf Spatzen geschossen". Die nötige Einarbeitungszeit übersteigt hier den Einsatzzweck.
Markus R. schrieb: > auch vernünftig in C programmieren lässt. Einige wurden ja hier schon vernünftig UND in C programmieren ist doch ein Paradoxum (es sagt ja auch keiner 'trockenes Wasser') unnwiederganzschnellwech
UI. Erstmal danke, hier gibts ja massig Resonanz, das ist super. Ich hab hier jetzt so einiges gelesen, und wenig verstanden :D Es gibt also wohl nicht nur "DIE ATmels", sondern auch andere, günstigere (???) Alternativen? Also, vom Prinzip her glaub ich macht es Sinn wenn ich mal den Einsatzzweck näher beschreibe. Das ganze kommt an ein Batteriebetriebenes Endgerät, das einen E Motor und ein Zahnradwerk besitzt. Es gibt drei Eingänge: S, T und C (alles Tastschalter) und einen Ausgang: M Wenn S aus ist und T ein Signal bekommt M auch eins. Wenn aus diesem Zustand T losgelassen wird bekommt M solange weiterhin ein Signal, bis bei C einmal ein Signal ankam Wenn S an ist und T ein Signal bekommt, dann wird M angeschaltet bis C einen Impuls kriegt. Ab dahin passiert nichts, bis T einmal kein Signal bekommt. Und dass war es auch schon zum Thema Anwendung. Ich habe mich noch mal ein Stück in die ATmegas eingearbeitet, und deren Handhabung in C gestaltet sich wohl doch ein kleines Stückchen schwerer als gedacht, aber das ist meine Sorge. Wenn ich einen Prozessor meinen Wünschen entsprechend flashen will, muss ich also ein Board haben was über USB an meinen Rechner geht (COM hab ich net mehr), und auf meinem Rechner die richtige Software zum Flashen? Wenn dann suche ich eine Lösung wo ich keine extra Stromversorgung fürs Board brauche... Wie würdet ihr den Prozessor mit Saft versorgen wenn die eigentliche Stromquelle variabel irgendwo zwischen 7-14 VOLT DC liegt? EDIT: Nach Möglichkeit so wenig Bauteile wie es geht für den Prozessor (z.B: keine externer Quarz)
:
Bearbeitet durch User
Wugge D. schrieb: > Es gibt drei Eingänge: S, T und C (alles Tastschalter) Wo kommen dann die 10ms her? Wugge D. schrieb: > Wenn dann suche ich eine Lösung wo ich keine extra Stromversorgung fürs > Board brauche... Das PICkit3 kann den µC beim Programmieren mit Strom versorgen (ca. 1.8V bis 5V einstellbar). Wugge D. schrieb: > Wie würdet ihr den Prozessor mit Saft versorgen wenn die eigentliche > Stromquelle variabel irgendwo zwischen 7-14 VOLT DC liegt? Mit einem Festspannungsregler wie z.B. dem MCP1703. Der verbrauch nur 2µA.
:
Bearbeitet durch User
Wugge D. schrieb: > Nach Möglichkeit so wenig Bauteile Ein Digispark ist nur ein Bauteil ;-) Beitrag "Re: Microcontroller Projekt für Anfänger"
Di 10ms kommen dadurch, das Elektrisch Zahnräder bewegt werden die schon ca 1800u/min bringen und das bei diesem Zahnrad die Anzahl der Umdrehungen über einen Steuernocken auf einen Taster übertragen wird. Und da sind die Ansteuerzeiten schon recht kurz...
Wugge D. schrieb: > In der Basisversion werden zwei digitale Eingänge, sowie ein digitaler > Ausgang benötigt. jetzt sind es schon 3 Eingaenge und 1 Ausgang, mal sehen wo die Reise hinfuehrt..............
Wugge D. schrieb: > EDIT: Nach Möglichkeit so wenig Bauteile wie es geht für den Prozessor > (z.B: keine externer Quarz) Der PIC10F320 hat einen internen 16MHz Oszillator und Interruptfähige IOs (einer Input only). Der MCP1703 brauch als Beschaltung 2x 1µF Keramik, und der PIC10F320 nur einen 100nF Keramik. Pullups für die Tasten sind im µC integriert. Dazu kommen dann noch die 3 Tasten und der Mosfet + Gatewiderstand. Macht gesamt 10 Bauteile inkl. Tasten und Mosfet. Wenn der FET keine großen Ströme schalten muss, ist keines der Bauteile (außer den Tasten) größer als 3.1*3.2mm (inkl. Füßchen). Als N-FET kann ich den IRLML6244TR (SOT-23) empfehlen: Rds(on) 21mΩ @ Vgs=4.5V Rds(on) 27mΩ @ Vgs=2.5V
:
Bearbeitet durch User
Markus R. schrieb: > Den Einsatz eines MSP430 oder einem noch leistungsfähigerem uC für so > eine Mini-Aufgabe halte ich für "mit Kanonen auf Spatzen geschossen". > Die nötige Einarbeitungszeit übersteigt hier den Einsatzzweck. OK, hier eine Gegenmeinung: "Zuviel" Leistungsfähigkeit stört nicht und 256B RAM sind ja auch nicht gerade leistungsfähig. Vorteil: In-System-Debugging für unter 10€ und 14- oder 20-Pin DIP-Gehäuse, also kein SMD. Da die beim MSP430 LaunchPad mitgelieferten Beispiele "out of the box" laufen und nur leicht verändert werden müssen, ist keine nennenswerte "Einarbeitungszeit" erkennbar. Noch preiswerter wäre ein Infineon XMC 2Go. Wenn da jemand sagt "mit Kanonen auf Spatzen geschossen", würde ich das verstehen.
Torsten C. schrieb: > 14- oder 20-Pin DIP-Gehäuse In welchem Universum ist das eine > möglichst kleinen (Bauform, Platzmangel im Anwendungsgebiet) ? Meiner Meinung mach sollte es möglich sein PIC10 + Spannungsregler + Mosfet + Außenbeschaltung auf einer Platine die <= groß ist wie das "Infineon XMC 2Go" unterzubringen.
:
Bearbeitet durch User
Max H. schrieb: > Meiner Meinung mach sollte es möglich sein PIC10 + Spannungsregler + > Mosfet + Außenbeschaltung auf einer Platine die <= groß ist wie das > "Infineon XMC 2Go" unterzubringen. Locker! :-) Auch, wenn ich aus der AVR-Welt komme, hier bin ich mal ganz bei dir. Der kleine PIC10 ist für diesen Einsatzzweck genauso gut geeignet wie der ATtiny10 (oder ATtiny4, denn 512 Bytes Programmspeicher reichen natürlich aus). In beiden Fällen reichen 5 oder 10 Euro für den Einstieg (Programmer und Mikrocontroller). Eine Testumgebung mit Evaluations-Board und Debugger braucht bei einer so einfachen Anwendung kein Mensch.
Soweit schonmal vielen Dank. Den entsprechenden N Channel Mosfet plus eine Schaltung mit einem P Channel als Aktive Motorbremse gibt es alles schon. Ich hätte dann noch eine Frage zum Programmieren: Wie spreche ich möglichst Direkt die IOs von einem uController (k.p. wie das mikro u geht :D) an? AFAIK sind kann ich mit Zeigern auf Variablenbezeichner á la r1, r13 usw. verweisen, und die dann mit (mangels boolean) integer werten 0 oder 1 auf high oder low schalten, bzw. ihren aktuellen Pegel abrufen?
Hi Nur mal so zum Verständnis eine kleine Skizze: Bei 10 msek. dürfte dann eine Drehzahl von 6000 U/min erreicht werden. Nun die klassische Antwort: bei 10 mSek. langweilt sich ein Controller... Ja, das schon, aber der Impuls wird deutlich kürzer sein, wenn er dem SChema entspricht. Ein Nocken kann durchaus nur 5% vom Umfang schalten und dann sind wir bei 0,5 mSek. Ist zwar immer noch eine lange Zeit, aber es kommt nun auf die Zykluszeit des Programms an. >Die Eingänge bekommen relativ schnelle Signale, sprich z.B. einen 10ms >Impuls, also der verarbeitende Mikrocontroller sollte nicht so langsam >sein das es zu Interrupts kommt. Nun, ein Interrupt kommmt nicht von allein, er muss programmiert werden und wenn die Skizze der Wahrheit nahe kommt ist es schon sinnvoll, den Impuls über Interrrupt zu erfassen. >Ursprünglich habe ich das ganze mal als Logikgatter Schaltung entworfen, >aber einen gravierenden Fehler gemacht weshalb mein Entwurf wertlos ist. Und genau aus diesem Grund setzt man µC ein. So kann eine falsche Programmierung korrigiert werden, ohne eine SChaltung in die Tonne zu schmeißen. Allerdings muss man das dann programmieren können und wollen. Fremd vergeben kann da schon richtig teuer werden, wenn im Entwurf Denkfehler sind. >Wenn S an ist und T ein Signal bekommt, dann wird M angeschaltet bis C >einen Impuls kriegt. Ab dahin passiert nichts, bis T einmal kein Signal >bekommt. Deine Beschreibung ist nur teilweise zu gebrauchen, denn dieser Satz isth ein wenig irritierend. Der Motor wird eingeschaltet, bis C einen Impúls bekommt, ab dann passiert nichts ? Das läßt schon verschiedene Auslegungen zu. Gruß oldmax
Wugge D. schrieb: > Wie spreche ich möglichst Direkt die IOs von einem uController (k.p. wie > das mikro u geht :D) an? AFAIK sind kann ich mit Zeigern auf > Variablenbezeichner á la r1, r13 usw. verweisen, und die dann mit > (mangels boolean) integer werten 0 oder 1 auf high oder low schalten, > bzw. ihren aktuellen Pegel abrufen? µ gibt man ein mit AltGr-M - jedenfalls bei den üblichen Tastaturen. Wie die Signalzustände der Pins abgefragt werden, steht meistens im Datenblatt - je nachdem, welchen Mikrocontroller du verwenden willst. Sehr gute Tutorials findest du auch hier in der Community. Zum Beispiel dieses: AVR-Tutorial: IO-Grundlagen
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.