Herzlich Willkommen im einzigen (deutschsprachigem) Picaxe-Forum.

Der Ursprung dieses Forum reicht bis in das Jahr 2008 zurück


Mein erstes Atmega8 Projekt, einen Servo mit den Tasten ansteuern.

#1 von Naubaddi , 02.01.2020 12:57

Mahlzeit, habe mir von "AVR für Dummys" das Programm "Servo steuern/positionieren per seriel" gespeichert, werde versuchen es so umzustricken das es mit 3 Tastern funktioniert und meinen Bedürfnissen anpassen. Das ist dann ein weiterer Baustein für kommende Projekte die irgendwas machen, es wird so etwas wie ein Vorrat an Modulen werden um nicht jedes mal das Rad neu erfinden zu müssen.

Heute Abend werden die benötigten Kabel, Stecker... gebastelt, wir werden sehen was dabei heraus kommt .

Grüßle, Naubaddi

Naubaddi  
Naubaddi
Beiträge: 288
Registriert am: 29.01.2019


RE: Mein erstes Atmega8 Projekt, einen Servo mit den Tasten ansteuern.

#2 von BoomBoomMagic , 02.01.2020 13:25

Ja , ich wollt schon fragen , was kommt als nächstes ??

Is ja schön endlich mal einen mehr im "AVR-Boot" zu haben ...... aber dann fiel mir ja leider ein ,
daste überwiegend nur mit deinen RC Modellen und Servo und so unterwegs bist .

Ich hatte son bissel gehofft , das man wieder mehr in Sachen SPI , WLAN, Bluetooth ,Grafik , Display machen tut / kann .
Naja, .... dann muss ich wohl noch nen paar Monate warten

Das ist wohl das Schicksal wenn man quasi alles was es auf der Welt gibt , schon mit nem AVR durch hat.


*** Die Picaxe muß nicht alles können , es reicht wenn sie sagt wo's lang geht ***

 
BoomBoomMagic
Beiträge: 528
Registriert am: 24.01.2019


RE: Mein erstes Atmega8 Projekt, einen Servo mit den Tasten ansteuern.

#3 von Naubaddi , 02.01.2020 13:36

Zitat von BoomBoomMagic im Beitrag #2
...Ich hatte son bissel gehofft , das man wieder mehr in Sachen SPI , WLAN, Bluetooth ,Grafik , Display machen tut / kann...


Langsam BBM, noch krabbel ich auf allen Vieren durch die AVR-Landschaft, was bei mir auf jeden Fall nicht kommen wird ist Bluetooth.

Die anderen von Dir genannten Dinge hören sich interessant an, die Wertigkeit dabei wäre:

* Display mit Text (später Grafik)
* WLAN
* SPI

mir muss nur noch einfallen wofür das dann gut ist.

Grüßle, Naubaddi


Naubaddi  
Naubaddi
Beiträge: 288
Registriert am: 29.01.2019

zuletzt bearbeitet 02.01.2020 | Top

RE: Mein erstes Atmega8 Projekt, einen Servo mit den Tasten ansteuern.

#4 von BoomBoomMagic , 02.01.2020 15:03

Kein Bluetooth ?
Mh ... schade , ne RC Fernbedienung über 1km find ich eigentlich ganz lustig , na gut.

SPI ?
Alle modernen Sachen die Du noch laaaaange nicht kennst , laufen per SPI ;-)


WLAN ?
Nun ja, z.B. alles auf der Welt : steuern , regeln , schalten , sichern , bewegen , überwachen ..........


Display ?
Ja gut , fang wir mal mit popeligstem auf der Welt an.
Also ich möchte darauf nicht mehr verzichten.
Wenn ich Projekte mache , also , richtige Projekte ...wo man den Datenfluss oder Aktionen kontrollieren muss , kann man das super auf nem einfachen 16x2 oder 20x4 anzeigen lassen.
Jedesmal dieses umständliche aufwendige serielle schicken an den PC ..... neeee , das war vor 30 Jahren .
Ich sag mal so , selbst für den Pupskram mit dem Servosignal , da isses doch super wenn man mitlesen kann was pulsin Live ausliest.
Davon ab , gibt ja nicht nur die einfachen alphanumerischen Displays dann noch das simple TM1637 .
Oder eine 8x8 Matrix bis hin zu einer 16x8 Matrix.
Oder wenn man nen Frequenzmesser machen will.Jetzt nicht per Picaxe 2Khz , also richtig mein ich , dann den 2313 mit Display.
Ach Du , ..... gibt sooo viel Sachen die man machen kann ;-)

Aber das sind alles mehr oder weniger Sachen , da fängt man mit nem Mega8 an .


*** Die Picaxe muß nicht alles können , es reicht wenn sie sagt wo's lang geht ***

 
BoomBoomMagic
Beiträge: 528
Registriert am: 24.01.2019


RE: Mein erstes Atmega8 Projekt, einen Servo mit den Tasten ansteuern.

#5 von BoomBoomMagic , 02.01.2020 15:05

Wäre mal schön jemanden zu treffen der schon so 2-4 Jahre weiter ist und mir vielleicht bisken Innovationen zeigen kann


*** Die Picaxe muß nicht alles können , es reicht wenn sie sagt wo's lang geht ***

 
BoomBoomMagic
Beiträge: 528
Registriert am: 24.01.2019


RE: Mein erstes Atmega8 Projekt, einen Servo mit den Tasten ansteuern.

#6 von Naubaddi , 02.01.2020 16:15

Seit es Bluetooth gibt ärgere ich mich jedes mal über die Nichteinhaltung der Normen/Standards... der Gerätehersteller, bei WLAN, Netzwerk... funktioniert es recht Problemlos wenn man sich an dir Regeln hält.

Die letzte Begegnung mit Bluetooth war ein Heizkörper-Thermostat mit Bluetooth, alles super über das Menü vom Thermostat einzustellen. Dann die Idee mit Bluetooth, Thermostat und Händi auf Bluetooth eingestellt und gewartet. Na ja mein Händi ist schon Asbach und das Android, Programm oder sonst was entspricht nicht dem Standard von dem Thermostat. Solche Probleme sind mir bei WLAN, Netzwerk... nicht untergekommen, darum meine Abneigung zu Bluetooth.

Du, ich liebe die kleinen platzsparenden Mikrocontroller, was nicht bedeutet das ein Mega8 verpönt wird!

Und eine Idee für ein Projekt mit Mega8, Display... habe ich auch schon , es soll etwas wie "Nr. 5" lebt werden auf meine Weise. Das wird in den nächsten Monaten allerdings noch nix, bzw. das Ein oder Andere wird als Modul programmiert und mit der Testplatine getestet.

Grüßle, Naubaddi


Naubaddi  
Naubaddi
Beiträge: 288
Registriert am: 29.01.2019

zuletzt bearbeitet 02.01.2020 | Top

RE: Mein erstes Atmega8 Projekt, einen Servo mit den Tasten ansteuern.

#7 von BoomBoomMagic , 02.01.2020 16:28

Nr. 5 lebt ? Ja das hört sich nach nem schönem Projekt an.

Hab ja auch mal vor Jahren diverse Kettenfahrzeuge und normal Fahrzeuge , 6 beinige Spinne per Fernbedineung realisiert.


Also was ich mit Bluetooth meine is , lediglich die Verbindung is Bluetooth.
Was wann wo wie an Daten oder was auch immer kommt , geht oder soll ,das liegt dann völlig an Dir.
Da ist erst rein nix , garnix , nur die Verbindung :-)


Du mußt da mal von Deinem einseitigem Denken weg kommen, wir arbeiten hier mit Mikrocontroller.
Da gibt es nichts vorgefertigtes oder nutzen irgendetwas vorgefertigtes.
Stichwort : BTM222

Ich seh schon , da hab ich nen riiiiiiiesen großes "WEISSES Blatt Papier" vor mir


*** Die Picaxe muß nicht alles können , es reicht wenn sie sagt wo's lang geht ***

 
BoomBoomMagic
Beiträge: 528
Registriert am: 24.01.2019


RE: Mein erstes Atmega8 Projekt, einen Servo mit den Tasten ansteuern.

#8 von Naubaddi , 02.01.2020 19:15

O.K., dann bestimme ich wie die Bluetooth-Geräte paaren?, das ist zu 99% das Problem die Geräten wollen sich nicht paaren.

Dein Programm wurde auf das nötigste reduziert da eh keine rs232 vorhanden ist um das Servo anzusteuern, es funktioniert nur halb . Mit halb meine ich nur Positionen <150 werden angenommen.

Was mir auffällt ist ein brummen vom Servo wenn er >150 fahren soll, brummen beim Servo kenne ich nur wenn die Kraft vom Servo nicht ausreicht um die Position anzufahren.

Siehst Du einen Fehler im Programm?:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
 
$regfile = "m328pdef.dat"
$crystal = 8000000
$hwstack = 40
$swstack = 40
$framesize = 40
 
' &HFF, &H62, &HDF, &HFF ' 1MHz
$PROG &HFF, &HE2, &HDF, &HFF ' 8MHz
 
Config Servos = 1 , Servo1 = Portc.0 , Reload = 10
config portc.0 = output
waitms 1000
 
config portb.1 = output
config portb.2 = output
config portb.3 = output
config portb.4 = output
config portb.5 = output
 
Enable Interrupts
 
Servo(1) = 150
waitms 1000
 
main:
 
portb.1 = 0
portb.5 = 1
Servo(1) = 200
waitms 1000
portb.5 = 0
portb.4 = 1
Servo(1) = 175
waitms 1000
portb.4 = 0
portb.3 = 1
Servo(1) = 150
waitms 1000
portb.3 = 0
portb.2 = 1
Servo(1) = 125
waitms 1000
portb.2 = 0
portb.1 = 1
Servo(1) = 100
waitms 1000
 
goto main
 
End
 



Grüßle, Naubaddi

Naubaddi  
Naubaddi
Beiträge: 288
Registriert am: 29.01.2019


RE: Mein erstes Atmega8 Projekt, einen Servo mit den Tasten ansteuern.

#9 von Naubaddi , 02.01.2020 19:35

Vielleicht bestelle ich erst mal ein paar Mega8 damit wir den gleichen Chip benutzen, hier ist noch ein Bild vom Aufbau:



Grüßle, Naubaddi

Naubaddi  
Naubaddi
Beiträge: 288
Registriert am: 29.01.2019


RE: Mein erstes Atmega8 Projekt, einen Servo mit den Tasten ansteuern.

#10 von BoomBoomMagic , 02.01.2020 19:52

Ich hätte da verschieden Ansätze ...


1. Man sollte eigentlich Spannungsquelle Servo und Spannungsquelle µC getrennt halten.
So ein Servo kann schnell bis zu 4A mal eben ziehen und dann ist der Strom im Stromkreis sehr hoch.

2. Was ist denn das für eine Platinchen für den Servo ?
Man benötigt doch nur Plus / Minus / und 330 Ohm vom µC zum Servo Data ?

3. Ich weiß nicht recht , ob da irgendwie , irgendwo , ne Art ...... "Fehler" auf meinem Board sich eingeschlichen hat ?
Ich hab manchmal auch so meine "Probleme" mit PortC.0
Probier doch mal Portc.3 oder gänzlich PortD
PortD.5


*** Die Picaxe muß nicht alles können , es reicht wenn sie sagt wo's lang geht ***

 
BoomBoomMagic
Beiträge: 528
Registriert am: 24.01.2019


RE: Mein erstes Atmega8 Projekt, einen Servo mit den Tasten ansteuern.

#11 von BoomBoomMagic , 02.01.2020 20:44

Mußte ich doch tatsächlich wieder in meine Katakomben und in alten Sachen wühlen gehen .......

Hier jetzt meine Version :


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
 

$regfile = "m8def.dat"
$crystal = 8000000
$hwstack = 40
$swstack = 40
$framesize = 40
 

Config Servos = 1 , Servo1 = Portb.0 , Reload = 10
 
config portb.0 = output
config portc.1 = output
config portc.2 = output
config portc.3 = output
config portc.4 = output
config portc.5 = output
 

Led1 alias portc.1
Led2 alias Portc.2
Led3 alias Portc.3
Led4 alias Portc.4
Led5 alias Portc.5
 

Enable Interrupts
 
Servo(1) = 150
waitms 1000
 
main:
 
Led5 = 0
Led1 = 1
Servo(1) = 150
waitms 1000
 
Led1 = 0
Led2 = 1
Servo(1) = 130
waitms 1000
 
Led2 = 0
Led3 = 1
Servo(1) = 110
waitms 1000
 
Led3 = 0
Led4 = 1
Servo(1) = 90
waitms 1000
 
Led4 = 0
Led5 = 1
Servo(1) = 70
waitms 1000
 
goto main
End
 

 





*** Die Picaxe muß nicht alles können , es reicht wenn sie sagt wo's lang geht ***

 
BoomBoomMagic
Beiträge: 528
Registriert am: 24.01.2019


RE: Mein erstes Atmega8 Projekt, einen Servo mit den Tasten ansteuern.

#12 von Naubaddi , 02.01.2020 21:50

Nö, wäre nicht nötig gewesen ;-).

Habe in der Zwischenzeit meinen RC-Kram aus den Katakomben geholt um echte Dinge zu sehen, das Servokreuz mit roten Markierungen versehen und genau ausgerichtet. Man o man, der AVR schafft mich, zuerst der ATtiny44 der seine Werte nicht einhält und jetzt ein Atmega328p der die Pulslänge falsch benutzt. Die Pulslänge bei einem Servo ist links = 75, Mitte = 150, rechts = 225, je nach Hersteller kann das Servo Pulslängen <75 und oder > 225 ansteuern.

Ein einfaches "Hey Naubaddi der Mega... hat andere Werte für die Pulslänge und interessiert sich nicht für die richtigen Pulslängen" hätte gereicht, macht nix, habe es mit dem RC-Kram und dem Markieren des Steuerkreuzes selber raus gefunden.

Bei meinem Atmega328p sind brauchbare Pulslängen >50 und <135, und mit solchen Dingen wird die Zeit vertrödelt .

Grüßle, Naubaddi

Naubaddi  
Naubaddi
Beiträge: 288
Registriert am: 29.01.2019


RE: Mein erstes Atmega8 Projekt, einen Servo mit den Tasten ansteuern.

#13 von Naubaddi , 02.01.2020 22:07

Schon wieder einen Beitrag übersehen .

Zu 1 das ist ein Mini-Servo für Versuche welches nur mA verbraucht

Zu 2 genau das was ein Servo braucht, +,- und Signal, damit es nicht wild rumliegt sitzt die Platine auf +, - und ein Kabel für das Signal (ich liebe Ordnung)

Zu 3 Nö, Deine Testplatine ist in meinen Augen und Fehlerfrei, da hast Du eine gut durchdachte Testplatine gemacht mit der ich viel Spaß habe

Noch etwas, suche nicht laufend den Fehler bei Dir oder mir und lese das Kleingedruckte von mir wie z.B. in diesem Fall "...Werte über 150 werden nicht angesteuert...", woher soll ich den wissen das der Atmega die Pulslängen anders verwaltet, benutzt oder was ich weiß?

Grüßle, Naubaddi

Naubaddi  
Naubaddi
Beiträge: 288
Registriert am: 29.01.2019


RE: Mein erstes Atmega8 Projekt, einen Servo mit den Tasten ansteuern.

#14 von BoomBoomMagic , 02.01.2020 22:24

Zitat

Ein einfaches "Hey Naubaddi der Mega... hat andere Werte für die Pulslänge und interessiert sich nicht für die richtigen Pulslängen" hätte gereicht, macht nix, habe es mit dem RC-Kram und dem Markieren des Steuerkreuzes selber raus gefunden.



sorry ... beherrsche leider nur 5 Programmiersprachen , muß dann doch mal das ein oder andere kurz ausprobieren um hier keinen Müll zu erzählen
Ich besitze Bascom 2.0.8.5 , nach dem letzten Update haben sich einige Syntax geändert !
Ich eier nicht jeden Tag mit Servo's rum :-(

Ich weiß auch das bei vielen anderen die Werte von 75 - 225 gehen , aber bevor ich unnötige "Streitgespräche" anzettel das die Werte anders sind ,
zeige ich es kurz an einem praktischen Beispiel ;-)

Leider entstehen viele "Verständnissproblem" weil du die CHM ( Hilfedatei ) von Bascom nicht in Linux lesen kannst.
Da sind viele Erklärungen und Beispiele die offene Frage oftmals im Vorfeld beantworten.
( Ich hatte den Link zur chm als Textdatei ja schon gegeben gehabt )


*** Die Picaxe muß nicht alles können , es reicht wenn sie sagt wo's lang geht ***

 
BoomBoomMagic
Beiträge: 528
Registriert am: 24.01.2019


RE: Mein erstes Atmega8 Projekt, einen Servo mit den Tasten ansteuern.

#15 von BoomBoomMagic , 02.01.2020 22:30

Auszug aus der Hilfe Datei



Configures how much servo’s will be controlled.



Syntax

CONFIG SERVOS = X , ServoN = Portb.0 , Reload = rl [, INTERVAL=t]
CONFIG SERVOS = X , ServoN = Portb.0 , MODE=mode , PRESCALE=pre



Remarks
Servo’s need a variable pulse in order to operate. The CONFIG SERVOS directive will set up a byte array with the servo pulse width values and will initialize an ISR that uses TIMER0.



X
The number of servo’s you want to control. Each used servo will use one byte of SRAM.

servoN
The port pin the servo is attached too. N represents a value between 1 and 10.

When you specify that you will use multiple servo's you need to specify a pin for each servo. Like : config servos=3, servo1=portb.0, servo2=portb.2, servo3=portC.4

reload
The reload value for the ISR in uS. This is the overflow rate of the timer.

So when 100 is used, it means that each 100 uS an interrupt will occur to update the servo variables.

Interval
The update interval. Using the interval option will result in using alternative servo code optimized for servos.

Mode
The normal default modes use software PWM with a relatively high frequency. This will give a big processor load since the timer ISR is executed many times.

It allows to create create precise pulses in small steps. But when controlling a simple RC servo, it is also possible to use a lower refresh rate which will result in lower processor load.

MODE=SERVO will work for normal AVR and XMEGA. You do not need to specify the interval or reload value.

Prescale
The prescale value is calculated so that the 8 bit timer interrupt is executed every 2 ms. Inside the interrupt, the servo pin is made high for the value of the servo() array. Then the next time inside the ISR, the pin is set low for the reset of the time. It depends on the processor frequency if you get a good range. In the report you can find the used prescale value as a constant named _SERVO_PRESCALER. When you do not get a full servo swing, you might want to try a higher prescale value. The prescale parameter overrides the automatic calculation.

Timer
This is for XMEGA only. Specify the name of the timer that will be used in interrupt mode.






PWM MODE
When you use for example :
Config Servos = 2 , Servo1 = Portb.0 , Servo2 = Portb.1 , Reload = 10
The internal ISR will execute every 10 uS.



An arrays named SERVO() will be created and it can hold 2 bytes : servo(1) and servo(2).
By setting the value of the servo() array you control how long the positive pulse will last. After it has reached this value it will be reset to 0.
The reload value should be set to 10. After 20 mS, a new pulse will be generated.
You can use other reload values but it will also mean that the repeat value will change.

The PORT pins specified must be set to work as an output pin by the user.

CONFIG PINB.0 = OUTPUT

Will set a pin to output mode.


The CONFIG SERVOS only works with servo's that rotate 180 degrees. These are the servo's found in RC models.
There are also continuous rotation servos which work different. The servo code will NOT work on these servos.



Alternative Servocode

When using the INTERVAL option, you can use alternative code which is optimized for servo's.(this is however not the MODE=SERVO)
You should use a RELOAD value of 100 in that case and an interval of 100 should be used for best results.
Using a reload of 100 uS will give more time to the main application. This does give lower resolution but this is not a problem for most model servos. With an interval of 100, the refresh will be done in 100x100 us which results in 10 mS.

The following test code was used:


Config Servos = 2 , Servo1 = Portd.7 , Servo2 = Portb.1 , Reload = 100 , Interval = 100
Servo(1) = 10
Servo(2) = 5
Enable Interrupts

Do

For J = 8 To 16

Servo(1) = J

Waitms 5000 ' some time to check if the servo is stable

Next

Waitms 5000

Loop





SERVO mode

The MODE=SERVO can be used for normal AVR and XMEGA. It results in a lower processor load.

Resources used

TIMER0 is used to create the ISR. Xmega will use TCxx.

NOTE

The servo() value is not absolute. It will depend on the processor clock. This means that these values might need an adjustment when you alter the $crystal value.




Example PWM mode

'-----------------------------------------------------------------------------------------

'name : servos.bas

'copyright : (c) 1995-2016, MCS Electronics

'purpose : demonstrates the SERVO option

'micro : 90S2313

'suited for demo : yes

'commercial addon needed : no

'-----------------------------------------------------------------------------------------



$regfile = "2313def.dat" ' specify the used micro
$crystal = 4000000 ' used crystal frequency
$baud = 19200 ' use baud rate
$hwstack = 32 ' default use 32 for the hardware stack
$swstack = 10 ' default use 10 for the SW stack
$framesize = 40 ' default use 40 for the frame space


'Servo's need a pulse in order to operate
'with the config statement CONFIG SERVOS we can specify how many servo's we
'will use and which port pins are used
'A maximum of 14 servos might be used
'The SERVO statements use one byte for an interrupt counter and the TIMER0
'This means that you can not use TIMER0 anymore
'The reload value specifies the interval of the timer in uS

'Config Servos = 2 , Servo1 = Portb.0 , Servo2 = Portb.1 , Reload = 10



Config Servos = 1 , Servo1 = Portb.0 , Reload = 10
'as an option you can use TIMER1
'Config Servos = 2 , Servo1 = Portb.0 , Servo2 = Portb.1 , Reload = 10 , Timer = Timer1

'we use 2 servos with 10 uS resolution(steps)
'we must configure the port pins used to act as output

Config Portb = Output

'finally we must turn on the global interrupt
Enable Interrupts



'the servo() array is created automatic. You can used it to set the
'time the servo must be on
Servo(1) = 10 '10 times 10 = 100 uS on
'Servo(2) = 20 '20 times 10 = 200 uS on

Do
Loop


Dim I As Byte
Do

For I = 0 To 100

Servo(1) = I

Waitms 1000

Next



For I = 100 To 0 Step -1

' Servo(1) = I

Waitms 1000

Next

Loop

End





Example SERVO mode

'-----------------------------------------------------------------------------------
' (c) 1995-2016, MCS Electronics
' servos-timer0.bas
'-----------------------------------------------------------------------------------
$regfile = "m88def.dat"
$crystal = 8000000
$hwstack = 64
$swstack = 64
$framesize = 64



Config Com1 = 19200 , Parity = None , Stopbits = 1 , Databits = 8
Print "Servo test"

Config Servos = 2 , Mode = Servo , Servo1 = Portb.0 , Servo2 = Portb.1
'Config Servos = 2 , Mode = Servo , Servo1 = Portb.0 , Servo2 = Portb.1 , Prescale= 256

' you need to chose SERVO mode for lowest system resources
Enable Interrupts ' you must enable interrupts since timer 0 is used in interrupt mode


Dim Key As Byte
'notice that servo() array is a byte array, which is created automatic

Do
Key = Inkey() ' get data from serial port
If Key = "l" Then 'left
Servo(1) = 100
Servo(2) = 100
Elseif Key = "m" Then ' middle
Servo(1) = 170
Servo(2) = 170
Elseif Key = "r" Then ' right
Servo(1) = 255
Servo(2) = 255
Elseif Key <> 0 Then ' enter user value
Input "Servo1 " , Servo(1)
Servo(2) = Servo(1)
End If
Loop


*** Die Picaxe muß nicht alles können , es reicht wenn sie sagt wo's lang geht ***

 
BoomBoomMagic
Beiträge: 528
Registriert am: 24.01.2019


RE: Mein erstes Atmega8 Projekt, einen Servo mit den Tasten ansteuern.

#16 von Naubaddi , 03.01.2020 00:02

Hochmal BBM, ich mache Dir keine Vorwürfe oder ähnliches, sollte es so herüberkommen entschuldige ich mich dafür.

Ansonsten kannst Du mich gerne mit Fakten beliefern, damit komme ich besser zurecht als mit den Beispielen. Z.B. das Beispiel-Video mit Deinem Servo hat mich kein Stück weitergebracht, die Info " die Impulslänge ist beim Atmega8 von 70 - 150" hilft mir weiter. Anscheinend Denke ich anders als die Leute die Du sonst noch kennst.

Dafür kann ich nix, ich bin so. Es gibt noch Andere wie mich in meinem Bekanntenkreis .

Grüßle, Naubaddi

Naubaddi  
Naubaddi
Beiträge: 288
Registriert am: 29.01.2019


RE: Mein erstes Atmega8 Projekt, einen Servo mit den Tasten ansteuern.

#17 von BoomBoomMagic , 03.01.2020 00:12

Hey , jeder is 'n andere Jeck


Das Beispiel sollte lediglich untermalen was ich als Code so verzapft habe

Kannst auch immer und gerne sagen : "Hey , da hasse aber so eine kagge produziert .."
Wenn mir dann auch das Gegenteil aufzeigen kannst :-)

Wie schon erwähnt , die CHM (Hilfe) Datei würde Dir enorm helfen denk ich.
Auch ich muss ab und an immer wieder dort reinschaun, weil ....... ich muss nicht alles wissen , aber wissen wo ich nachschaun muß


*** Die Picaxe muß nicht alles können , es reicht wenn sie sagt wo's lang geht ***

 
BoomBoomMagic
Beiträge: 528
Registriert am: 24.01.2019


RE: Mein erstes Atmega8 Projekt, einen Servo mit den Tasten ansteuern.

#18 von BoomBoomMagic , 03.01.2020 01:07

Ich hab jetzt auch mal ein wenig gespielt ....


Bei meinem Atmega8 ergab sich folgendes :


- Atmega8 mit 5V Spannung , 8 Mhz
- Servo mit 6V Spannung
- Fahrbereich 180°
- Werte von 25 - 150


*** Die Picaxe muß nicht alles können , es reicht wenn sie sagt wo's lang geht ***

 
BoomBoomMagic
Beiträge: 528
Registriert am: 24.01.2019


RE: Mein erstes Atmega8 Projekt, einen Servo mit den Tasten ansteuern.

#19 von BoomBoomMagic , 03.01.2020 15:22

Ja das sieht vom Code her doch schon mal sehr schön und übersichtlich aus.
Dieses ALIAS finde ich sehr gut, dann kann man mit sinnigen Begriffen arbeiten und hat schneller ein Verständnis für den Code.


In Sachen Display , ..... da gibts ja Millionen , funktionieren alle weltweit gleich !
Hier wäre so 0-8-15 Display z.B. :
https://www.ebay.de/itm/LCD-1602A-16x2-Z...4L1B53o3mkmSuNw

Oder hier ein 20x4 :
https://www.ebay.de/itm/Character-20x4-L...65319007289a3f8


In Sachen Grafikdisplay würde ich erstmal abwarten , an welche Anwendung Du gedacht hast ?
Auch da gibts viele die Sinn oder Unsinn machen, halt je nach Projekt.


*** Die Picaxe muß nicht alles können , es reicht wenn sie sagt wo's lang geht ***

Mit diesem Beitrag wurden folgende Inhalte verknüpft:
 
BoomBoomMagic
Beiträge: 528
Registriert am: 24.01.2019


RE: Mein erstes Atmega8 Projekt, einen Servo mit den Tasten ansteuern.

#20 von Naubaddi , 03.01.2020 15:46

Die alphanumerischen Displays sind bestellt (je 2 Stk.), jetzt bitte Grafikdisplays in ähnlicher Größe ;-).

Es werden ein paar Grafikspielereien damit gestrickt für Nr. 6, was genau weiß ich noch nicht. Erstmal alles ran karren was so für eine Nr. 6 brauchbar ist, hast Du noch Ideen für Bauteile die Nr. 6 lebendiger machen?

Grüßle, Naubaddi

Naubaddi  
Naubaddi
Beiträge: 288
Registriert am: 29.01.2019


RE: Mein erstes Atmega8 Projekt, einen Servo mit den Tasten ansteuern.

#21 von BoomBoomMagic , 03.01.2020 15:54

Hab hier mal so auf die Schnelle bissel das Display mit Servo eingesetzt .....


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
 

$regfile = "m8def.dat"
$crystal = 8000000
$hwstack = 40
$swstack = 40
$framesize = 40
 

Config Lcdpin = Pin , Db4 = Portd.4 , Db5 = Portd.5 , Db6 = Portd.6 , Db7 = Portd.7 , E = Portd.2 , Rs = Portd.3
Config Lcd = 16 * 2
Cursor Off
Cls
 
Config Servos = 1 , Servo1 = Portb.0 , Reload = 10
config portb.0 = output
config portc = output
 

Enable Interrupts
 
locate 1,1
lcd "L=25 M=90 R=150 "
 
do
 
Servo(1) =150
locate 2,1
lcd "Pos:150 (Rechts)"
portc=1
waitms 2000
 
Servo(1) =90
locate 2,1
lcd "Pos:90 (Mitte)"
portc=2
waitms 2000
 
Servo(1) =30
locate 2,1
lcd "Pos:30 (Links)"
portc=4
waitms 2000
 
loop
End
 
 




*** Die Picaxe muß nicht alles können , es reicht wenn sie sagt wo's lang geht ***

 
BoomBoomMagic
Beiträge: 528
Registriert am: 24.01.2019


RE: Mein erstes Atmega8 Projekt, einen Servo mit den Tasten ansteuern.

#22 von Naubaddi , 03.01.2020 16:20

Das gefällt mir , das Servo ist ja mal richtig gut mit 180° Stellweg .

Habe noch im I-Net nach Pulslängen und Mikrocontroller gesucht, da sind wir mit dem AVR ja noch gut dabei mit 55 - 135. In einem Beitrag hat Jemand geschrieben das sein Arduino Werte von 900 - 1900 benutzt um einen Servo zu steuern .

Grüßle, Naubaddi

Naubaddi  
Naubaddi
Beiträge: 288
Registriert am: 29.01.2019


RE: Mein erstes Atmega8 Projekt, einen Servo mit den Tasten ansteuern.

#23 von BoomBoomMagic , 03.01.2020 16:41

Ich denke auch das das verschiedene Abhängigkeit hat ...

wieviel Spannung , welcher Servo , welcher Controller ...


*** Die Picaxe muß nicht alles können , es reicht wenn sie sagt wo's lang geht ***

 
BoomBoomMagic
Beiträge: 528
Registriert am: 24.01.2019


RE: Mein erstes Atmega8 Projekt, einen Servo mit den Tasten ansteuern.

#24 von BoomBoomMagic , 03.01.2020 16:53

Bei dem Grafikdisplay würde ich sagen , da du ja noch so absolut keinerlei Ahnung von Displays hast und noch nie eins benutzt ,

würde ich erstmal so einen Adapter vorschlagen :

https://www.ebay.de/itm/Universal-Serial...5MAAOSwjrtcucNn


Dieser Adapter hat einen Chip enthalten der sich um die Verwaltung des Displays kümmert .
Man kann dann sehr einfach per seriel oder SPI die eigentlichen Befehle rübersenden.
Passend dazu dann eine KS108 Display.

https://www.ebay.de/itm/128x64-Graphic-L...5.c100008.m2219


*** Die Picaxe muß nicht alles können , es reicht wenn sie sagt wo's lang geht ***

Mit diesem Beitrag wurden folgende Inhalte verknüpft:
 
BoomBoomMagic
Beiträge: 528
Registriert am: 24.01.2019

zuletzt bearbeitet 03.01.2020 | Top

RE: Mein erstes Atmega8 Projekt, einen Servo mit den Tasten ansteuern.

#25 von BoomBoomMagic , 03.01.2020 16:58

Wenn's son bisken mehr auf die sein soll , nehm ich nur noch diese :

https://www.komputer.de/zen/index.php?ma...kgf0kr9n1ehefj1

Die haben einen eigenen Controller drauf , können touch (wenn man mag ) , I/O 's , werden seriel angesprochen .....


*** Die Picaxe muß nicht alles können , es reicht wenn sie sagt wo's lang geht ***

 
BoomBoomMagic
Beiträge: 528
Registriert am: 24.01.2019


   

BASCOM Demo-Version und die 4k Begrenzung...

Picaxe Editor 5.5.5 Download
Update auf Picaxe Editor 5.5.6 Download
Picaxe Editor 6.x.x.x Download
Manual1.pdf        -      Grundwissen Download
Manual2.pdf        -      Befehle Download
Manual3.pdf        -      Beispiele Download


Press [Backspace] for back to Menu


Counter
Xobor Forum Software ©Xobor.de | Forum erstellen
Datenschutz