PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Ich suche einen Microcontroller....



Hunter2
06.03.2009, 20:50
...der mindestens folgende Forderungen erfuellt:
Betriebsspannung im normalen rahmen ( 3-5V )
2 PWM-eingaenge ( sind das Zaehler? )
5 I/O ports
nicht SMD ist ( also DIP )
moeglichst gut erhaeltlich, und nicht zu teuer.
Es sollte auch kein riese mit 32 Beinpaaren sein.

Um euch weiter zu helfen sage ich mal, was ich damit vorhabe.
Ich moechte mir fuer mein RC-Car eine beleuchtungssteuerung basteln.
Die wird dann zwischen Gas/bremsservo und Empfaenger eingeschleift, und zwischen Empfaenger und Schaltservo. Das signal, was dann abgegriffen wird ist PWM, mit ca. 1KHz. ( 0.5-2.0 ms Pulsbreite )
Dann sollte die entsprechend dem PWM signal ueber Transistoren LED's schalten, die dann als Rueckfahrscheinwerfer und Bremsleuchten verbaut sind.
Dann noch eine Blinkschaltung ( rundum auf Dach ) und ein Beeper beim Rueckwaehrtsgang. Denn wollte ich ueber eine kleinstlautsprecher und einen NE555 regeln, der dann ueber einen I/O port an und ausgeschaltet wird.
Ich denke, dass ich den rest selber entwerfen kann, wenn ich weiss, welchen Microcontroller ich nehmen kann. Ich habe schon die Eagle-Bibliotheken gewaelzt, aber noch nichts passendes gefunden.

Besserwessi
06.03.2009, 22:04
Für die Anforderungen könnte ein 8 Bit Controller mit etwa 14-20 Pins reichen. Da könnte z.B. eine ATMEL Tiny2313 (20 pins) oder Tiny24/Tiny44 (14 Pins) ausreichen. Statt dem Tiny2313 findet man bei Eagle eventuell nur den Vorgänger At90S2313, das ist aber egal.

Den Pieper kann man wahrscheinlich auch noch gleich mit ansteuern (ohne NE555), vor allem wenn man einen Piezo als Lautsprechern nimmt.
Auch die LEDs kann man bis etwa 15 mA direkt ansteuern. Da sind ein paar extra Pins dann eventuell sinnvoll für mehr Leistung.

Als PWM Eingänge wird man externe Interrupts, oder ggf. den ICP Eingang nutzen. ICP ist die bessere Wahl, aber davon gibt es selten mehr als einen und bei der niedrigen Frequenz reicht ein externer Interrupt.

goara
07.03.2009, 00:39
was du auch machen kannst ist das Summensignal aus dem empfänger rauszurooten und das auf einen icp pin zu leiten, dann brauchst du nur einen Eingang.... lautsprecher geht auf jedenfall ohne NE555 das habe ich auch schon gemacht.. einfach PWM auf den Pieperpin, evt. noch mit Transistor verstärker..

Mixxer
07.03.2009, 09:43
ATTiny2313 und bei Leistungsbedarf noch n ULN2003/ULN2803

radbruch
07.03.2009, 10:36
Hallo

Du willst:

2 Eingänge für RC-Signale
1 Ausgang Blinklicht
1 Ausgang Lautsprecher
1 Ausgang Bremslicht
1 Ausgang Rückfahrlicht

Sind zusammen 6 Pins, mit Vcc und GND könnte das ein 8piniger tiny13:
http://atmel.com/dyn/resources/prod_documents/2535S.pdf

Mit internem 1,2/9,6 MHz-Takt ist er ausreichend schnell um die Impulslängen der RC-Signale zu messen und die Töne zu erzeugen, die Lampenansteuerungen sind zeitlich eher unkritisch. Mit einem 10 kHz-Timer als Zeitbasis könnte man die Servoimpulse in ca. 20 Stufen unterscheiden und Töne mit bis zu 5kHz erzeugen (1 oder 2,5kHz wären wohl sinnvoll). Weiteres Runterteilen des 10kHz-Taktes ergäbe dann noch die Blinkfrequenzen im 0,5 bis 10 Hertz-Bereich für das Blinklicht auf dem Dach (und das blinkende Bremslicht?). Bei 9,6MHz (ohne internen /8-Vorteiler) könnte man die Grundfrequenz von 10kHz bei Bedarf auch noch deutlich erhöhen.

Wenn man das RC-Summensignal auswerten kann braucht man den Reset-Pin nicht umzuprogrammieren was das Erstellen und Testen des Programms etwas erleichtern würde. Bei Verwendung aller IOs des tiny13 würde ich die Funktion am Resetpin als letztes bzw. an einem anderen Pin entwickeln.

Gruß

mic

07.03.2009, 11:21
Auch wenn das mit dem Tiny13 gerade noch geht, ist es ein ziehmliches Hinderniss das man den den Reset Pin nutzen muß und deshalb kein ISP mehr nutzen kann. Besser eine Tiny24, da kann man dann ggf. mehrere Pins LEDs parallel nutzen für mehr Leistung. Der Tiny2313 ist oft besser zu bekommen.

Mixxer
07.03.2009, 14:11
da kann man dann ggf. mehrere Pins LEDs parallel nutzen für mehr Leistung.


???
Das ist aber nicht gerade "Standardvorgehensweise"!!
Ein Pin kann 20mA schalten (würd z.B. für 3/5mm LEDs als Rücklichter locker reichen!
Wenn man als Fahrscheinwerfer stärkere/mehr LEDs benötigt: BC547/BC557. Dann gehts bis 100mA (sollte locker reichen). Wenn du deine Servos auch mit dem µC ansteuern willst , dafür brauchst du (fast) keine Leistung - Das geht locker mit nem Pin!

MFG Mixxer

Besserwessi
07.03.2009, 14:47
Für 2 Rücklichter zu je 15 mA wären 2 Ausgänge schon nicht schlecht. Auch so ein Blicklicht auf dem Dach könnte mehr als eine LED gebrauchen.
Mehrere Ausgänge parallel sind zwar nicht standard aber auch keine so neue Idee. Man kann halt auch einfache Transistoren duch µC Power ersetzen.

oberallgeier
07.03.2009, 15:22
... nicht gerade "Standardvorgehensweise" ...Na ja, mehrere Pinne für eine LED ist bei der Aufgabenstellung "kein riese mit 32 Beinpaaren " doch eher unerwünscht.

... Ein Pin kann 20mA schalten ...Hmmmmmm, ok, in meinen Datenblättern für tiny2313 und tiny13 steht unter "Absolute Maximum Ratings* (mit *= ... may cause permanent damage
to the device...) pro Pin 40 mA und insgesamt Vcc resp. GND 200 mA. Für einen sicheren Betrieb wären dann die genannten 20 bzw. 100 mA insgesamt anzusetzen. Nimmt man max 10 mA für den controller selbst, bleiben also insgesamt für alle Pinne sowieso nur 90 mA übrig.

Das dürfte wenig sein - wenn Schlusslichter (2LEDs) und Scheinwerfer (2) an sind, der Blinker blinkt (2) und das Bremslicht, vermutlich 2 oder sogar 3 LEDs angeht - dann können schon mal sieben, acht und mehr LEDs gleichzeitig leuchten . . . . .

BTW: für eine Schaltung mehrerer LEDs an einem Controllerpin habe ich diese Schaltung

....................http://oberallgeier.ob.funpic.de/teil_dwg-x95.jpg (https://www.roboternetz.de/phpBB2/zeigebeitrag.php?p=384868#384868)

genommen. Sie läuft erfolgreich und der BC337 kann ja max 800 mA ab.

Besserwessi
07.03.2009, 17:43
Man kann mehr LEDs direkt treiben, wenn man die Hälfte gegen Massen, und die andere Hälfte gegen VCC Schaltet. In der Regel sollte der µC mit etwa 1 mA auskommen (1 MHz). In der Regel sollte man mit deultich weniger als 20 mA pro LED auskommen können. Bevor man da noch 2 Transistoren und Widerstände spendiert kann man lieber den Controller um 6 Pins größer wählen. Wenns klein sein soll ist ein kleiner MOSFET besser, da spart man den Basiswiderstand.

hardware.bas
07.03.2009, 18:25
Davon abgesehen, dass es relativ unprofessionell ist, PINs zwecks
Erhöhung der Ausgangsleistung parallelzuschalten, sollte man sich
vor Augen führen, dass bei einigen ICs bereits eine relativ niedrige
Strombegrenzung der Summe aller Ausgangsströme vorhanden ist.
Treiberstufe, ob diskret oder mit Treiber-IC an Leistungs-LED sollte
man der Schaltung schon spendieren. Vg Micha

wkrug
07.03.2009, 20:57
Ich würde einen Controller aus der ATMEGA Serie nehmen.
z.B. den ATMEGA 8. Der ATMEGA 8L8 würde dann auch noch bis 3V runter funktionieren.
Der hat bereits einen 16Bit Timer mit dem sich vorzüglich Servoimpulse auswerten lassen.
Bei den 8Bit Timern ist das immer schwierig.
3 Hardware PWM's sind auch drin
Der IC ist in der "schmalen" Ausführung mit 28pins erhältlich.

Hunter2
08.03.2009, 19:55
Alls allererstes: Danke an alle.
Ich muss nochmal alle Datenblaetter der verschiedenen, in frage kommenden Prozessoren vergleichen.
beim ATMEGA 8L8 gefaellt mir, dass er chon ab 3V arbeitet. Das ganze soll naemlich von dem empfaengerakku, also 4s NiMH gespeist werden (=4.8V )
Die Led's sollten High-Power Leds seinen, besonders fuer die Frontscheinwerfer. Da diese aber nicht geschaltet werden sollen, soll das Board nur als Adapter ( Kabelmaessig ) und als steuerung dienen.
Alle Leds werden High-Power Leds werden, die dann alle ueber ensprechend faehige Transistoren betrieben werden, und dann vorher das ganze ueber einen Spannungsregler, ueber diesen eine Pufferkondensator, damit die Lichter nicht herumflackern, wenn ein Servo mal etwas staerker beansprucht wird ( ich habe mal die Spannung gemessen, wenn mann mit den Servos herumzittert ( extra, zum belasten der Akkus ) dann faellt die Spannung schon um 0.5 V ab.
Mit einer Konstantstromquelle und High-Power Led's habe ich schon gute erfahrungen an RC-Cars gemacht. bei meinem letzten Projekt hatte ich 2 Leds, jede mit ihrer eigenen Konstantstromquelle am Fahrakku angeschlossen, selbst bei heftigsten belastungen wurde die nicht dunkler, nur wenn der ganz Akku leer war. Dann konnte man aber auch nicht mehr fahren.

oberallgeier
08.03.2009, 22:41
... beim ATMEGA 8L8 gefaellt mir, dass er chon ab 3V arbeitet ...Da sind die Atmels doch etwas tolerant, vermutlich alle. Jedenfalls betreibe ich meinen WALL R (https://www.roboternetz.de/phpBB2/viewtopic.php?t=45658) mit einem Mega168 mit 3 Stk AA Zellen (nicht Akkus) - das sind rund 4,5 V - und er bewegt sich doch . . . . Motor und Servo sind dabei an einer eigenen Versorgung mit 4 AAA.

wkrug
09.03.2009, 08:18
3 Stk AA Zellen (nicht Akkus) - das sind rund 4,5 V - und er bewegt sich doch
Bei 4,5V arbeiten eigentlich auch noch die High Speed Varianten der Controller.
Bei 3,3V würd ich dann doch lieber die L Varianten einsetzen.
In welchem Spannungsbereich welcher Controller noch funktioniert findet man übrigens auf der ersten Seite des jeweiligen Datenblattes.

Es gibt von einigen Controllern in der Zwischenzeit auch V- Varianten, die dann schon ab 1,5V arbeiten. Allerdings muß man dabei auch auf die obere Spannungsgrenze achten.

An einen 4 zelligen Akkupack würde ich einen Controller nicht so ohne weiteres anschließen, weil da bei frisch geladenen Akkus ohne Probleme auch 6V anliegen können. So was kann so einen Controller killen!

Zum Thema "High Power LED" kann ich hier http://www.plischka.at/Leddriver_LM3404.html noch einen interessanten Link anbieten.
Die IC's kriegt man unter anderem bei Segor.

Hunter2
09.03.2009, 13:31
Deshalb soll ja alles ueber einen Spannungregler laufen.
Nur haben die alle leider eine Mindestspannung, die abfallen muss.
gibt es welche, bei denen diese besonders klein ist?
Ich habe da etwas von low-drop reglern gehoert, aber was das bedeutet, weiss ich nicht so genau.

askazo
09.03.2009, 14:01
Low-Drop Spannungsregler haben genau das, wonach Du im Satz vorher gefragt hast - eine besonders kleine Differenz zwischen Minimaler Eingangsspannung und Ausgangsspannung. Allerdings würde ich bei Batterieanwendungen eher auf einen Buck-Boost-Schaltregler setzen, da sind zum einen die Verluste geringer und zum anderen kannst Du die Batterien besser ausnutzen, da die Eingangsspannung auch niedriger als die Ausgangsspannung sein darf.

Gruß,
askazo

Hunter2
09.03.2009, 15:31
Naja, bei ca. 4V mache ich sowieso schluss, denn dann haben die Servos nicht mehr genuegend power. Wenn man also merkt, dass die Lampen dunkler werden, dann ist der Empfaengerakku fast leer, und der Empfaenger geht sowieso in den Failsave modus.
Aber ich werde ja sowieso schon rechtzeitg bescheidwissen, denn meine Karre hat Telemetrie. =P~

09.03.2009, 21:18
Bei so wenig Strom wie ein µC zieht (ca. 1 mA bei 1 MHz), lohnt ein Schaltregler nicht. Da würde es sich eher lohnen die Stromregelung der LEDs auf Schaltreglerbasis zu machen.

09.03.2009, 22:51
Hallo zusammen,
1. Wenn du mehre Controller-pins parallel schaltest, schau bitte bitte darauf dass sie immer den gleichen Zustand haben! Danke!
2. <OFFTOPIC>
Ich habe gehört, es gibt jetzt bald AVR, die ab 0,7 Volt laufen und einen internen Boost-Regler haben (auf 3V). Die kann man mit einer Zelle betreiben! siehe:

w w w.elektor.de/elektronik-news/neue-attiny-avr-mikrocontrollerfamilie-fur-0-7-v.864257.lynkx?utm_source=DE&utm_medium=email&utm_campaign=news

</OFFTOPIC>
mfg

Hunter2
11.03.2009, 06:36
Mache ich nicht, Transistoren ( BC547 ) sind nicht mehr teuer. die paar cent...