La solution la plus simple serait d'utiliser un commutateur NPN côté bas:
Vous dites que la résistance CC du moteur est de 11,5 Ω, donc le courant maximal qu'il peut tirer est de 1,8 V / 11,5 Ω = 160 mA. En fait, le transistor consommera quelques 100 mV en abaissant le courant maximum possible, c'est donc un maximum sûr à concevoir. Figure le transistor est bon pour un gain de 50 minimum, nous avons donc besoin d'au moins 160 mA / 50 = 3,2 mA de courant de base. 5 mA est alors une bonne cible pour s'assurer que le transistor est solidement saturé lorsqu'il est allumé. Calculez la chute BE à 700 mV, ce qui laisse 1,1 V à travers la résistance lorsqu'elle est allumée. 1,1 V / 5 mA = 220 Ω.
C1 est là pour accélérer l'allumage et l'extinction. (220 Ω) (4,7 nF) = 1 µs, qui est la constante de temps C1-R1.
La fréquence PWM doit être suffisamment rapide pour que le courant traversant le moteur change peu à chaque phase d'activation et de désactivation. L'ondulation provoquée par le PWM est une tension alternative superposée à la tension continue moyenne. Seule la tension continue sert à déplacer le moteur. Le composant AC ne génère aucun couple, uniquement de la chaleur, vous devez donc le maintenir faible par rapport au DC. En général, vous faites fonctionner les moteurs un peu au-dessus de la limite d'audition humaine, qui est également généralement assez rapide pour garder le composant CA petit. À 25 kHz, par exemple, la période PWM est de 40 µs, ce qui devrait vous donner beaucoup de résolution à partir de n'importe quel périphérique PWM raisonnable dans un microcontrôleur.
Ajouté en réponse à la trace de portée du collecteur
La forme de base de la forme d'onde semble bonne, il semble donc que le transistor commute correctement et que la tension soit appliquée correctement sur le moteur.
Les pointes à l'arrêt sont inquiétantes. Ils peuvent éventuellement être des artefacts de portée, mais si votre trace de portée est précise, la diode ne fonctionne pas ou n'est pas connectée correctement. Les pointes ne doivent pas être supérieures à un volt ou plus au-dessus de l'alimentation.
D1 empêche non seulement le transistor de frire, mais il préserve une grande partie du courant du moteur pendant le temps d'arrêt. Le premier est nécessaire et le second augmente l'efficacité.
Ajouté 2
En regardant de plus près votre trace de portée, je vois que la tension du collecteur lorsque le moteur est éteint est de 2,48 V. Vous dites que l'alimentation est de 1,8 V, ce qui rend la tension de coupure 680 mV supérieure à l'alimentation. Cela signifie que vous n'avez pas construit le circuit comme je l'ai dit. Vous avez évidemment utilisé une diode au silicium ordinaire, probablement lente comme un 1N400x. Le temps d'activation lent de la diode explique la pointe de tension et réduit un peu les niveaux globaux du variateur à un rapport cyclique PWM spécifique. Cela provoquera également un effet de coupure pendant un certain temps lorsque le transistor sera à nouveau activé, car la diode est toujours conductrice. Une diode Schottky aura une baisse avant plus faible et une récupération inverse instantanée effective dans le contexte de ce circuit.
Le système devrait toujours fonctionner généralement, mais essayez avec une diode Schottky comme je l'ai spécifié.