PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Microcontroller einstecken und loslegen ode wie?



homer3345
22.04.2011, 21:26
Guten Abend!

Ich möchte mal gerne wissen ob ich zb. einen Atmega32 einfach auf eine Lochraster Platine packen kann, die ISP Pins rausführen und einen Quarz einstecken kann!

Oder wie kann ich zwischen internem Takt und dem Takt vom Quarz umstellen?
Muss ich sonst noch etwas einstellen?

Vielen Dank schonmal im Vorraus!

dussel07
22.04.2011, 21:37
Ganz so einfach ist das leider nicht -
Schau zB. mal Hier (http://halvar.at/elektronik/kleiner_bascom_avr_kurs/fuse_lock_bits_1/)

oberallgeier
23.04.2011, 09:12
... Atmega32 einfach auf eine Lochraster Platine packen ... ISP Pins rausführen und einen Quarz einstecken kann ...Kannst Du. Die dumme Antwort: ohne Löt- oder Klemmverbindung wird das nix. Da vermute ich mal, dass Du das weißt. Schau Dir mal diese Einführung mit der Grundschaltung (http://www.rn-wissen.de/index.php/AVR-Einstieg_leicht_gemacht) an, das könnte zur Erhellung beitragen. Viele nigelnagelneue AVR-Controller kommen mit der Einstellung "interner Takt, 1 MHz" in den Handel.


... wie kann ich zwischen internem Takt und dem Takt vom Quarz umstellen ...Das ist eben schon angedeutet worden: dazu gibt es Fuses, eine Art "Sicherungen" bzw. Schalterchen bzw. Flags im Controller, die Du entsprechend Deinen Wünschen umstellst. Dazu hier ein Fuserechner (http://www.engbedded.com/fusecalc/), der Dir die Arbeit erleichtert. Hier gibts noch Erklärungen dazu, (http://www.rn-wissen.de/index.php/Avr#Die_Fusebits) für die Fusebits gibts genauere Angaben in den Datenblättern zum Controller.

Natürlich kann man extrem minimalistisch einen funktionierenden Controller betreiben wie hier:


http://www.rn-wissen.de/images/thumb/c/c9/Avr8.jpg/300px-Avr8.jpg

aber möglicherweise willst Du das ein bisschen bequemer haben. Dazu solltest Du einige Elemente aus der Grundschaltung auf Deine Lochrasterplatine packen (sprich löten und entsprechend verdrahten), vielleicht noch ein paar Gimmicks wie RS232 oder ähnlich dazu. So etwas hatte ich für mich beispielsweise mit einem selbstgebauten Testboard gelöst:

https://www.roboternetz.de/community/attachment.php?attachmentid=10556&d=1196241178

Genaueres dazu in diesem Thread. (https://www.roboternetz.de/community/showthread.php?31524-Mega32-Testboard-auf-Streifenraster&p=303897&viewfull=1#post303897)

Viel Erfolg

Richard
23.04.2011, 14:54
Guten Abend!

Ich möchte mal gerne wissen ob ich zb. einen Atmega32 einfach auf eine Lochraster Platine packen kann, die ISP Pins rausführen und einen Quarz einstecken kann!

Oder wie kann ich zwischen internem Takt und dem Takt vom Quarz umstellen?
Muss ich sonst noch etwas einstellen?

Vielen Dank schonmal im Vorraus!

Das ein externer Quarz mittels Fuse Bit eingestellt wird ist ja schon erwähnt worden Zum Testen würde (ich) aber eher ein Steckboard nehmen und erst wenn die Schaltung darauf wie gewünscht läuft, eine gelötete Version aufbauen. Das spart viel Frust. So habe ich schon eine komplette Motor Steuerung aufgebaut. Wichtig ist die 100n Abblock kondensatoren su nahe wie möglich ans IC und auch den Quarz unbedingt so nahe es geht an seine Anschlüsse, da zählt jeder mm! Bei der Löt Version ist es sinnvoll einen Sockel für die IC's zu verwenden und dann ohne IC's mit Spannungs Versorgung alle Pinns erst einmal durchklingeln und auf Kurzschlüsse untersuchen, das erspart auch viel Stress. :-)

Gruß Richard

homer3345
23.04.2011, 15:16
Danke für die Antwort!

Kann man auch mit dem voreingestellten 1mhz entfernungen mit einem Sharp Entfernungsmesser relativ genau messen?

BMS
23.04.2011, 16:25
Hallo,
die Sensorauswertung hat erst einmal nichts mit der Taktfrequenz des Mikrocontrollers zu tun.

Der Sharp-Sensor liefert wahrscheinlich ein analoges Signal am Ausgang (Gleichspannung), die du mit dem im Controller integrierten Analog-Digital-Wandler (kurz ADC) messen kannst. Die Taktfrequenz vom ADC wird von dem Takt des Mikrocontrollers abgeleitet, da kann man einen bestimmten Teilungsfaktor einstellen. Wenn du aber den ADC übertaktest, wird das Messergebnis ungenau.

Außerdem solltest du dem SHARP-Sensor noch eine kleine Zusatzschaltung verpassen, da dieser Störungen auf der Versorgungsleitung und am Ausgang produziert. http://rn-wissen.de/index.php/Bild:Sharp_filter.png (http://rn-wissen.de/index.php/Bild:Sharp_filter.png)
Erklärung dazu: http://rn-wissen.de/index.php/Sensorarten#Sharp_Infrarotsensoren

Grüße, Bernhard

homer3345
24.04.2011, 17:21
Hat jemand mit diesem http://www.conrad.de/ce/de/product/191510/MYSMARTUSB-MK2-AVR-PROGRAMMER-U-INTE/SHOP_AREA_29142&promotionareaSearchDetail=005 Programmer erfahrung? Bzw. taugt der was?


Macht es Sinn am Anfang alle Elekronikteile aus dieser Liste http://www.rn-wissen.de/index.php/Grundausstattung auf Vorat zu kaufen?
Das ist meine Idee http://www.reichelt.de/Warenkorb/index.html?SID=13Tax@-n8AAAIAAEvDBrg40e35d204588a45da39a5c5a7bf6fdf4;ACT ION=5;SORT=user; fehlt da noch was?
(Ich habe Jetzt absichtlich die Sachen für 2 bzw. 4 Controllerboards rausgesucht weil es meiner Meinung nach keinen Sinn macht für 10€ was zu bestellen)

oberallgeier
24.04.2011, 18:26
... mit diesem ... Programmer erfahrung? Bzw. taugt der was ...Damit hab ich keine Erfahrung. Meiner war aber halb so teuer, bin hochzufrieden mit diesen hier (http://shop.ullihome.de/catalog/product_info.php/cPath/25_30/products_id/67), hab mittlerweile zwei davon - beide tiip top.

homer3345
24.04.2011, 19:02
Mir ist Gestern die Idee gekommen ein autonomes Flugzeug zu bauen!
Ich habe mir so gedacht, dass ich diesen http://www.amazon.de/Graupner-4234-WP-Kleine-Uhu/dp/B001QFYQKS/ref=sr_1_1?ie=UTF8&qid=1303667419&sr=8-1 Segelflieger nehme, ein sehr leichtes und kompaktes Controllerboard auf Atmega 8 Basis zu baue, die Asuromotoren mit kleinen Propellern bestücke und die sie links und rechts an die Flügel dranbaue.
Allerdings weiß ich noch nicht so genau ob die beiden Motoren genug Schub liefern damit das Flugzeug fliegt.

Macht es sinn als erstes Roboterprojekt ein Flugzeug zu nehmen??

021aet04
25.04.2011, 10:45
Ich würde als erstes Projekt nicht ein Flugzeug, welcher Art auch immer, nehmen. Der Grund ist, wenn man wenig bis keine Erfahrung mit Elektronik/Programmieren) hat macht man sehr viele Fehler. Bei einem Fahrzeug wie z.B. Asuro passiert nichts, vielleicht einige abgebrochene Teile, die man mehr oder weniger leicht wieder montieren kann. Wenn ein Flugzeug abstürzt hast du meist einen Totalschaden (je nach Höhe). Wenn du Zuschauer/andere Personen in der Nähe hast passiert bei einen Fahrzeug relativ wenig (bei Programmfehler,...). Bei einem Flugzeug kann das schon schlimmer ausgehen.

Ich würde dir raten, dass du zuerst einmal ein Fahrzeug (Asuro, RP6, Eigenbau,...) programmierst oder nur mit einem Testboard alleine. Dann siehst du schon einige Tücken beim Programmieren bzw Schaltungsaufbau.

MfG Hannes

homer3345
25.04.2011, 14:46
Den Asuro hab ich schon und da er mir langsam nicht mehr genug bietet habe ich mir überlegt selber ein Controlerboard zu bauen und damit ein Flugzeug oder Fahrzeug zu steuern!

homer3345
27.04.2011, 18:29
Hat sonst jemand eine Idee für ein günstiges Fahrwerk?

oberallgeier
27.04.2011, 18:56
... eine Idee für ein günstiges Fahrwerk?Zwei gehackte Servos auf einer Lochrasterplatine. Ich verwende Servos zu je 4,95, die Lochrasterplatte ist ein Groschenartikel.

......http://oberallgeier.ob.funpic.de/miniD0_fahrschemelk_1837.jpg

Das gibts auch etwas größer, mit gehackten, aber nicht zusammengesägten (*ggg*) Servos hier. (https://www.roboternetz.de/community/showthread.php?36121-Autonom-in-kleinen-Dosen-R2_D03-Nachfolger-R3D01&p=358306&viewfull=1#post358306)

homer3345
07.05.2011, 15:05
Ich habe jetzt alles soweit Fertig das Controllerboard besitzt einen Atmega 16PU mit einem 16mhz Quarz!
Im ProgTool von meinem Programmer http://shop.myavr.de/index.php?404;http://www.myavr.de:80/shop/article.php?artDataID=36 Ist der Quarz Takt nur bis 12mhz auswählbar was soll ich denn dannn aus dieser Liste auswählen?

Brown-out detection level at VCC=4.0 V
Brown-out detection level at VCC=2.7 V

Brown-out detection enabled

Ext. Clock; Start-up time: 6 CK + 0 ms
Ext. Clock; Start-up time: 6 CK + 4 ms
Ext. Clock; Start-up time: 6 CK + 64 ms
Int. RC Osc. 1 MHz; Start-up time: 6 CK + 0 ms
Int. RC Osc. 1 MHz; Start-up time: 6 CK + 4 ms
Int. RC Osc. 1 MHz; Start-up time: 6 CK + 64 ms; default value
Int. RC Osc. 2 MHz; Start-up time: 6 CK + 0 ms
Int. RC Osc. 2 MHz; Start-up time: 6 CK + 4 ms
Int. RC Osc. 2 MHz; Start-up time: 6 CK + 64 ms
Int. RC Osc. 4 MHz; Start-up time: 6 CK + 0 ms
Int. RC Osc. 4 MHz; Start-up time: 6 CK + 4 ms
Int. RC Osc. 4 MHz; Start-up time: 6 CK + 64 ms
Int. RC Osc. 8 MHz; Start-up time: 6 CK + 0 ms
Int. RC Osc. 8 MHz; Start-up time: 6 CK + 4 ms
Int. RC Osc. 8 MHz; Start-up time: 6 CK + 64 ms
Ext. RC Osc. - 0.9 MHz; Start-up time: 18 CK + 0 ms
Ext. RC Osc. - 0.9 MHz; Start-up time: 18 CK + 4 ms
Ext. RC Osc. - 0.9 MHz; Start-up time: 18 CK + 64 ms
Ext. RC Osc. - 0.9 MHz; Start-up time: 6 CK + 4 ms
Ext. RC Osc. 0.9 MHz - 3.0 MHz; Start-up time: 18 CK + 0 ms
Ext. RC Osc. 0.9 MHz - 3.0 MHz; Start-up time: 18 CK + 4 ms
Ext. RC Osc. 0.9 MHz - 3.0 MHz; Start-up time: 18 CK + 64 ms
Ext. RC Osc. 0.9 MHz - 3.0 MHz; Start-up time: 6 CK + 4 ms
Ext. RC Osc. 3.0 MHz - 8.0 MHz; Start-up time: 18 CK + 0 ms
Ext. RC Osc. 3.0 MHz - 8.0 MHz; Start-up time: 18 CK + 4 ms
Ext. RC Osc. 3.0 MHz - 8.0 MHz; Start-up time: 18 CK + 64 ms
Ext. RC Osc. 3.0 MHz - 8.0 MHz; Start-up time: 6 CK + 4 ms
Ext. RC Osc. 8.0 MHz - 12.0 MHz; Start-up time: 18 CK + 0 ms
Ext. RC Osc. 8.0 MHz - 12.0 MHz; Start-up time: 18 CK + 4 ms
Ext. RC Osc. 8.0 MHz - 12.0 MHz; Start-up time: 18 CK + 64 ms
Ext. RC Osc. 8.0 MHz - 12.0 MHz; Start-up time: 6 CK + 4 ms
Ext. Low-Freq. Crystal; Start-up time: 1K CK + 4 ms
Ext. Low-Freq. Crystal; Start-up time: 1K CK + 64 ms
Ext. Low-Freq. Crystal; Start-up time: 32K CK + 64 ms
Ext. Crystal/Resonator Low Freq.; Start-up time: 258 CK + 4 ms
Ext. Crystal/Resonator Low Freq.; Start-up time: 258 CK + 64 ms
Ext. Crystal/Resonator Low Freq.; Start-up time: 1K CK + 0 ms
Ext. Crystal/Resonator Low Freq.; Start-up time: 1K CK + 4 ms
Ext. Crystal/Resonator Low Freq.; Start-up time: 1K CK + 64 ms
Ext. Crystal/Resonator Low Freq.; Start-up time: 16K CK + 0 ms
Ext. Crystal/Resonator Low Freq.; Start-up time: 16K CK + 4 ms
Ext. Crystal/Resonator Low Freq.; Start-up time: 16K CK + 64 ms
Ext. Crystal/Resonator Medium Freq.; Start-up time: 258 CK + 4 ms
Ext. Crystal/Resonator Medium Freq.; Start-up time: 258 CK + 64 ms
Ext. Crystal/Resonator Medium Freq.; Start-up time: 1K CK + 0 ms
Ext. Crystal/Resonator Medium Freq.; Start-up time: 1K CK + 4 ms
Ext. Crystal/Resonator Medium Freq.; Start-up time: 1K CK + 64 ms
Ext. Crystal/Resonator Medium Freq.; Start-up time: 16K CK + 0 ms
Ext. Crystal/Resonator Medium Freq.; Start-up time: 16K CK + 4 ms
Ext. Crystal/Resonator Medium Freq.; Start-up time: 16K CK + 64 ms
Ext. Crystal/Resonator High Freq.; Start-up time: 258 CK + 4 ms
Ext. Crystal/Resonator High Freq.; Start-up time: 258 CK + 64 ms
Ext. Crystal/Resonator High Freq.; Start-up time: 1K CK + 0 ms
Ext. Crystal/Resonator High Freq.; Start-up time: 1K CK + 4 ms
Ext. Crystal/Resonator High Freq.; Start-up time: 1K CK + 64 ms
Ext. Crystal/Resonator High Freq.; Start-up time: 16K CK + 0 ms
Ext. Crystal/Resonator High Freq.; Start-up time: 16K CK + 4 ms
Ext. Crystal/Resonator High Freq.; Start-up time: 16K CK + 64 ms

CalibrationOscCal 0 (1.0 MHz): 0OscCal 1 (2.0 MHz): 0OscCal 2 (4.0 MHz): 0OscCal 3 (8.0 MHz): 0

Bammel
07.05.2011, 15:46
Hallo,

die 12mHz sind nur von dem internen oszilator.

wählen würde ich den letzten eintrag:
"Ext. Crystal/Resonator High Freq.; Start-up time: 16K CK + 64 ms"

wäre aber schön wenn es noch jemand andere bestätigen würde.

Richard
07.05.2011, 15:51
Hallo,

die 12mHz sind nur von dem internen oszilator.

wählen würde ich den letzten eintrag:
"Ext. Crystal/Resonator High Freq.; Start-up time: 16K CK + 64 ms"

wäre aber schön wenn es noch jemand andere bestätigen würde.

Bestätigt. :-)

Gruß Richard

Bammel
07.05.2011, 16:41
roger that ;)

homer3345
07.05.2011, 18:21
Danke für die schnelle Hilfe jetzt funktioniert sogar die Timer Funktion vom RN-Controll! :D

homer3345
08.05.2011, 10:44
Ich habe jetzt ein Problem mit dem ADC welche Register muss ich wie setzten damit ich an ADC0 und ADC1 messen kann?
Kann mir jemnad evtl. einen kleinen code ausschnitt geben damit ich das verstehe?

Bammel
08.05.2011, 11:12
welche programmiersprache?

homer3345
08.05.2011, 11:39
Sorry das hatte ich ja total vergessen!
Ich programiere in C!
Was muss ich machen wenn ich den I²C Bus benutzen möchte? (evtl. auch ein kleinre code ausschnitt)

Bammel
08.05.2011, 11:45
sorry C ist nicht meine welt.

aber es gibt doch im netz so viele tutorials und quellcodes. im rn-wissen sollte sich auch was finden lassen.

Richard
08.05.2011, 11:48
welche programmiersprache?

Irgendwie muss bei uns eine Seelen Verwandtschaft bestehen, das gleiche habe ich mich auch gefragt. :-)

Gruß Richard

homer3345
08.05.2011, 12:13
Das mit dem ADC hat sich erledigt!
Jetzt bleibt nur noch der I²C Bus offen! (gibt es evtl. irgendwo eine I²C lib für Atmega 32/16?)

homer3345
08.05.2011, 18:14
Kann mir denn keiner mit dem I²C weiterhelfen??

021aet04
08.05.2011, 19:17
Es gibt eine I2C Lib von Peter Fleury (ich glaube den schreibt man so). Die Lib solltest du finden. Ich selbst schaue im Datenblatt nach und verwende die Register direkt ohne Library.

Ich hoffe ich konnte dir helfen

MfG Hannes

homer3345
09.05.2011, 16:18
Welche Register muss ich wie setzten um den I²C BUs zu benutzen?

021aet04
10.05.2011, 08:05
Welche Register du setzen musst findest du im Datenblatt des jeweiligen Controllers. Z.B. http://www.atmel.com/dyn/resources/prod_documents/doc2503.pdf => Atmega 32
Das Kapitel I2C findest du ab S169 (Two wire seriell interface, TWI)
Die einzelnen Register findest du ab S177 (z.B. TWBR, TWCR). Wie du es einstellen musst, willst entscheidest du.

MfG Hannes

homer3345
11.05.2011, 21:05
Der I²C Bus funktioniert jetzt so weit und das nächste problem ist da :D!
Und zwar: Ich habe ein DOGM163L - A http://www.reichelt.de/DOG-LCD-Module/EA-DOGM163L-A/index.html?;ACTION=3;LA=444;GROUP=A5213;GROUPID=30 07;ARTICLE=77833;START=0;SORT=artnr;OFFSET=16;SID= 11TcmVcn8AAAIAABWTMHY438d25826a9646fda08f55aa9d66e 10b habe allerdings 0 anhung wie ich es an ich es ansteuern soll und finde auch nirgends beispiele oder anleitungen :( !
Kann mir dan noch mal bitte jemand helfen?

Ps: Der Display kontroller ist der: ST7036

Richard
12.05.2011, 07:59
Der I²C Bus funktioniert jetzt so weit und das nächste problem ist da :D!
Und zwar: Ich habe ein DOGM163L - A http://www.reichelt.de/DOG-LCD-Module/EA-DOGM163L-A/index.html?;ACTION=3;LA=444;GROUP=A5213;GROUPID=30 07;ARTICLE=77833;START=0;SORT=artnr;OFFSET=16;SID= 11TcmVcn8AAAIAABWTMHY438d25826a9646fda08f55aa9d66e 10b habe allerdings 0 anhung wie ich es an ich es ansteuern soll und finde auch nirgends beispiele oder anleitungen :( !
Kann mir dan noch mal bitte jemand helfen?

Ps: Der Display kontroller ist der: ST7036

hmm, so wie ich es aus dem Datenblatt lese hat das Teil kein I²C sondern normale Hartware Steuerung über Ports und eine SPI Schnittstelle?

Gruß Richard

homer3345
12.05.2011, 14:45
Vielleicht habe ich die Frage einfach zu blöd formuliert :D soweit war ich auch schon.
Ich hab schon die 7 Datenleitungen (D7, D6, D5, D4, E, R/W und RS) herrausgeführt und erstmal an PB0 bis PB7 angeschlossen später soll das display über eine I²C Porterweiterung betrieben weden (am ATMEGA 16).

Das klingt jetzt evtl. wie Kritik soll es aber auf garkeinem Fall sein! :D

homer3345
13.05.2011, 17:52
Kann mir denn keiner weiterhelfen? Ich bin langsam am verzweifeln! :(

Hubert.G
13.05.2011, 18:02
Was ist mit den restlichen Leitungen wie CSB und Reset?
Im Datenblatt ist doch eine genaue Anschaltung für 3,3V und 5V 4Bit

homer3345
14.05.2011, 15:45
Csb ist an masse und reset an +5V.
Ohhhh das hab ich noch garnicht gesehen ich werde es in nächster zeit mal testen!
Hast du das Display? Wenn ja würde ich mich sehr freuen, wenn du mir deinen COde zur ansteuerung schiken würdest!

Hubert.G
14.05.2011, 17:20
Nein , Disp habe ich keines.
Vielleicht hilft dir das: http://www.mikrocontroller.net/topic/180903#new